Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS590 Z Software Defect Analysis Xiangyu Zhang. CS590F Software Reliability What is Software Defect Analysis  Given a software program, with or without.

Similar presentations


Presentation on theme: "CS590 Z Software Defect Analysis Xiangyu Zhang. CS590F Software Reliability What is Software Defect Analysis  Given a software program, with or without."— Presentation transcript:

1 CS590 Z Software Defect Analysis Xiangyu Zhang

2 CS590F Software Reliability What is Software Defect Analysis  Given a software program, with or without inputs, identify and fix defects in the program. All sorts of defects: crashes, incorrect output, unreasonable use of resource, deadlock, data race, buffer overflow vulnerabilities, information leak,… Consists of techniques from : compilers, PL, program verification, hardware, OS, … >> debugging.

3 CS590F Software Reliability Requirements Design Programming Testing/Debugging Deployment

4 CS590F Software Reliability Why Is Defect Analysis Important?  One of the most prominent challenges for IT. Software bugs cost the U.S. economy about $59.5 billion each year (0.6% of the GDP) [NIST 02]. Companies.  Security is becoming a necessity. The worldwide economic loss caused by all forms of overt attacks is $226 billion. [CRS 03].  Software defects make programming so painful.  Stories The Role of Software in Spacecraft Accidents (http://sunnyday.mit.edu/papers/jsr.pdf)http://sunnyday.mit.edu/papers/jsr.pdf

5 CS590F Software Reliability Why? (continued)  Almost all areas are open to defect analysis Software Engineering  covers all topics  conferences (FSE, ICSE, ASE, ISSTA, FASE, ICSM…) Programming Languages  language design, language support, program analysis  conferences (PLDI, POPL, OOPSLA,…) Computer Architecture  Architecture support for reliability  Conferences (ISCA, MICRO, ASPLOS,…) OS, Security.  The unit price of a CPU cycle is becoming cheaper and cheaper. Make it happen 25 years ago Make it fast 15 years ago Make it reliable now

6 CS590F Software Reliability CS 590 Z  Get to know this area. What are the topics? How people solve problems? Some are inspiring.  Use program analysis to solve interesting problems. Hands-on experience on designing and implementing program analysis.  Paper (PLDI submission(s))

7 CS590F Software Reliability Course Organization  Take turns to discuss papers. Every 2-3 meetings cover one topic; Each person handles one topic; One topic includes presenting related papers and leading discussion.  The discussion subject is distributed before the meeting.  Decide the projects within one month Submission deadline is mid Nov.  Not a requirement to submit paper. The term project is due at the end of the semester;

8 CS590F Software Reliability Course Requirements  Presentations and discussions (40%)  Term Project (50%)  Attendance (10%)  Change of meeting times

9 CS590F Software Reliability Topics Failure oblivious usersdevelopers

10 CS590F Software Reliability Debugging Failure oblivious Mining Code Base Static Analysis usersdevelopers dynamicstatic Model Checking

11 CS590F Software Reliability Topics Failure oblivious Mining Code Base Static Analysis Data Race Deterministic replay usersdevelopers dynamicstatic multi-threaded single-threaded Model Checking Atomicity Violation

12 CS590F Software Reliability Debugging Failure oblivious Mining Code Base Static Analysis Statistical debug Data Race Deterministic replay usersdevelopers dynamicstatic multi-threaded single-threaded single execution multiple executions atomicity violation Model Checking Testing

13 CS590F Software Reliability atomicity violation Topics Failure oblivious Mining Code Base Static Analysis Statistical debug Dynamic slicing Execution Reduction Data Race Deterministic replay Advanced debugger usersdevelopers dynamicstatic multi-threaded single-threaded single execution multiple executions Model Checking Testing

14 CS590F Software Reliability Topics Failure oblivious Mining Code Base Static Analysis Statistical debug Dynamic slicingExe. Reduction Data Race Deterministic replay Advanced debugger usersdevelopers dynamicstatic multi-threaded single-threaded single execution multiple executions Not Covered: transient errors, performance bugs, … Model Checking atomicity violation

15 CS590F Software Reliability My Research Projects  Auto debugging  Input analysis  Execution reduction  Dynamically matching program versions  Failure classification  Expanding: Auto program parallelization Debugging for concurrent programs


Download ppt "CS590 Z Software Defect Analysis Xiangyu Zhang. CS590F Software Reliability What is Software Defect Analysis  Given a software program, with or without."

Similar presentations


Ads by Google