cs5103 software engineering

16
CS5103 Software Engineering Lecture 18 Security Issues in Software Engineering & Final Exam

Upload: whitney-wolf

Post on 31-Dec-2015

24 views

Category:

Documents


1 download

DESCRIPTION

CS5103 Software Engineering. Lecture 17 Debugging. Today’s class. Delta Debugging Motivation Algorithm In practice Statistical Debugging Tarantula Dynamic Slicing. 2. Debugging. Something we do when testing find a bug Basic Process Reproduce the bug Locate the fault Fix - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CS5103  Software Engineering

CS5103 Software

Engineering

Lecture 18Security Issues in Software Engineering & Final Exam

Page 2: CS5103  Software Engineering

2

Mid-term Exam II

Time: Dec 1th 6:00pm to 7:15pm

Location: NPB 1.226

Form: closed book exam 100 points total

Account for 20% for the course grade

8 multiple choice questions * 6 points each: single answer

2 multiple choice questions * 8 points each: multiple answers

2 Question & Answer, 36 points in total

Page 3: CS5103  Software Engineering

3

Covered Course Contents

Must * It is for sure that this knowledge point will be

covered in the final exam

May ? This knowledge point may be covered in the

final exam

Not mentioned in this outline The final exam will not cover this knowledge

point

Page 4: CS5103  Software Engineering

4

Software process models

Features of Agile software development & Extreme programming ?

Major difference between these models ?

Page 5: CS5103  Software Engineering

5

Requirement Engineering

Find Stake Holders ? Type of Requirements ? Major requirement elicitation

approaches ?

Page 6: CS5103  Software Engineering

6

System Modeling

Class Diagram? Relationship between classes ?

Generalization, Aggregation, Composition, Association and their difference ?

Page 7: CS5103  Software Engineering

7

Software Architecture

Major software architecture styles? Pipe and Filter ?

Layered ?

Page 8: CS5103  Software Engineering

8

Software Design

Design Patterns ? Structure and Types ?

Page 9: CS5103  Software Engineering

9

Versioning

Conflict ? Know how to detect conflict ?

Branch ? Know how to merge branches by applying

diffs ?

Branch strategies and their pros / cons ?

Page 10: CS5103  Software Engineering

10

Software licences

Know major software licenses ? GPL, LGPL, Apache, BSD, …

Page 11: CS5103  Software Engineering

11

Coding Styles

Coding style rules for all levels ? Identifier / constant ?

Expression ?

Statements ?

Blocks ?

Comments ?

Finding coding style errors in given code ? Understand the goal and concept of

software refactoring ?

Page 12: CS5103  Software Engineering

12

Software Testing

Concepts and terms in software testing * Test case, Test suite, Test oracle, …

Unit Testing * Working process of JUnit ?

What are good ways to write assertions ?

What are good ways to do the tearing down ?

Page 13: CS5103  Software Engineering

13

Software Testing

Test coverage * Understand statement coverage,

branch coverage and path coverage, and calculate coverage for a given test case and code*

Page 14: CS5103  Software Engineering

14

Software Static Detection

Three types of Specifications*

Approaches to Check Specifications? Symbolic Execution, Model Checking, Graph

Traversal

Difference between findbugs and traditional detection tools*

Page 15: CS5103  Software Engineering

15

Software Debugging

Delta debugging* Understand how basic delta debugging

works ?

Know how to handle interference and multiple interference ?

Understand the limitations of delta debugging ?

Statistical debugging? How to compute suspiciousness of code?

Page 16: CS5103  Software Engineering

16

Thanks!