cse 322: software reliability engineering topics covered: course outline and schedule introduction,...

26
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts

Post on 21-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

CSE 322: Software Reliability Engineering

Topics covered:Course outline and scheduleIntroduction, Motivation and Basic Concepts

General information

CSE 300 : Software Reliability EngineeringInstructor : Swapna S. GokhalePhone : 6-2772.Email : [email protected] : ITEB 237Lecture time : Mon/Fri 10:30-11:45 am.Office hours : By appointment (I will hang around for a few minutes at the end of each class).Web page : http://www.engr.uconn.edu/~ssg/cse300.html (Lecture notes, general announcements, reference papers will be posted on the web page)

Course goals

Appreciation for software reliability engineering Dependability concepts and models Various state-of-the-art reliability assessment

techniques for a software system starting from the design phase: Software reliability growth models. Techniques for prediction Software metrics and software reliability. Software reliability models with repair Architecture-based software reliability analysis Software architecture styles Optimal software release criteria

Study research papers, and implement the described techniques.

Critique research papers, identify open research problems and suggest solutions.

Expected learning outcomes

Develop experience and expertise in the use of state-of-the-art techniques used for the reliability assessment of software systems.

Learn how general software packages such as S-plus, MATLAB can be used to implement techniques for software reliability assessment.

Acquire familiarity with specialized software reliability assessment tools.

Skills to understand, analyze, critique research papers.

Textbooks

No required text book. Reference text books:

Handbook of Software Reliability Engineering, M. R. Lyu, Editor, McGraw-Hill, New York, 1996.

Lecture notes will be prepared from several papers, some of these papers will be posted on the web.

Course topics

Dependability concepts and models Software reliability growth models Predictive analysis techniques Software metrics and reliability Architecture-based reliability analysis Software reliability models with explicit fault repair Optimal software release times

Grading system

Midterm #1 : 25%Presentation, term paper, project : 25%Final : 50%

Mid term and final will be take home.

Paper presentation, term paper and project

Divided into groups of 2-3 8-10 papers will be identified. Each group will be expected to:

Select a paper. Read the paper and understand the technique described. Present the technique to the class. Summarize the technique in a 1-2 page paper. Questions will be provided to the students, answers to

which should be included in the term paper. Implement the technique described in the paper using

language/package of your choice.

•Additional I/O requirements may be specified. Demonstrate the implementation.

Course topics, exams and assignment calendar

Week #1 (Aug. 28): 1. Aug 28: Introduction to software reliability 2. Sept. 1: Dependability concepts & modelsWeek #2 (Sept. 4): Sept. 4: No class, Labor day 3. Sept. 8: Dependability concepts & models (contd..)Week #3 (Sept. 11): 4. Sept. 11: No class 5. Sept. 15: Software reliability models Week #4 (Sept. 18): 6. Sept. 18: Software reliability models (contd..) 7. Sept. 22: Software reliability models (contd..)Week #5 (Sept. 25) 8. Sept. 25: Software reliability models (contd..) 9. Sept. 29: Software reliability models (contd..)

Course topics, exams and assignment calendar

Week #6 (Oct. 2): 10. Oct. 2: Model prediction (contd..) 11. Oct. 6: Model predictionWeek #7 (Oct. 9): 12. Oct. 9: Software reliability models with fault removal 13. Oct. 13: Optimal software release timesWeek #8 (Oct. 16): 14. Oct. 16: Architecture-based reliability analysis 15. Oct. 20: Architecture-based reliability analysis (contd..), Oct. 20: Midterm #1Week #9 (Oct. 23): Oct. 23: No class. 16. Oct. 27: Architecture-based reliability analysis (contd..)Week #10 (Oct. 30): 17. Oct. 30: Introduction to architecture styles 18. Nov. 3: Reliability analysis of pipe & filter style (contd..)

Course topics and exams calendar

Week #11 (Nov. 6): 19. Nov. 6: Software metrics and reliability Nov. 10: No classWeek #12 (Nov. 13): Nov. 13: Project overview 20. Nov. 17: Software metrics and reliability Week #13 (Nov. 20) Thanksgiving break.Week #14: (Nov. 27) -- Group paper presentations -- Group paper presentationsWeek #15: (Dec. 4) -- Group paper presentations -- Final exam (take home)

Grading policy

•Refer to the University policy regarding Student Conduct (Plagiarism, etc.)•If you have any conflict with the exam date, please see me in advance for an alternative arrangement.

Project grading:•At the end of the semester, each one of you will be asked to provide feedback about your team member•Your final project grade will take into consideration, the feedbackprovided by your team member.

Attendance policy

Attendance not mandatory. Attending classes helps! Lecture notes on the web will provide an outline,

detailed notes will be provided in the class.

Feedback

Please provide informal feedback early and often, before the formal review process.

Introduction and Motivation

Introduction and motivation

Growing reliance on computer systems:

Introduction and motivation (contd..)

Disparity in hardware and software:

Introduction and motivation

Examples and consequences of software failures:

Introduction and motivation

Examples and consequences of software failures:

Basic concepts and definitions

Software system:

Service:

Failure:

Outage:

Software reliability:

Fault:

Basic concepts and definitions (contd..)

Defect:

Errors: Discrepancy:

Human action:

Operational profile:

Basic concepts and definition

Time basis for reliability:

Execution time:

Calendar time:

Clock time:

Basic concepts and definitions (contd..)

Failure functions:

Mean time to repair (MTTR):

Availability:

Basic concepts and definitions (contd..)

Estimation:

Prediction:

Hardware vs. software reliability

Similarities:

Differences:

Hardware vs. software reliability

Hardware faults:

Software faults: