CS590 Z - PowerPoint PPT Presentation

About This Presentation
Title:

CS590 Z

Description:

conferences (FSE, ICSE, ASE, ISSTA, FASE, ICSM...) Programming Languages ... Conferences (ISCA, MICRO, ASPLOS,...) OS, Security. ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 16
Provided by: srirama5
Category:

less

Transcript and Presenter's Notes

Title: CS590 Z


1
CS590 Z Software Defect Analysis
Xiangyu Zhang
2
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,
  • gtgt debugging.

3
Requirements
Design
Programming
Testing/Debugging
Deployment
4
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)

5
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.

6
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
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
Course Requirements
  • Presentations and discussions (40)
  • Term Project (50)
  • Attendance (10)
  • Change of meeting times

9
Topics
users
developers
Failure oblivious
10
Debugging
users
developers
Model Checking
dynamic
static
Failure oblivious
Static Analysis
Mining Code Base
11
Topics
users
developers
Model Checking
dynamic
static
Failure oblivious
Static Analysis
single-threaded
Mining Code Base
multi-threaded
Data Race
Deterministic replay
Atomicity Violation
12
Debugging
users
developers
Model Checking
dynamic
static
Failure oblivious
Static Analysis
single-threaded
Mining Code Base
multiple executions
multi-threaded
single execution
Statistical debug
Data Race
Deterministic replay
Testing
atomicity violation
13
Topics
users
developers
Model Checking
dynamic
static
Failure oblivious
Static Analysis
single-threaded
Mining Code Base
multiple executions
multi-threaded
single execution
Statistical debug
Data Race
Deterministic replay
Testing
atomicity violation
Dynamic slicing
Execution Reduction
Advanced debugger
14
Topics
users
developers
Model Checking
dynamic
static
Failure oblivious
Static Analysis
single-threaded
Mining Code Base
multiple executions
multi-threaded
single execution
Statistical debug
Data Race
Deterministic replay
atomicity violation
Dynamic slicing
Exe. Reduction
Advanced debugger
Not Covered transient errors, performance bugs,
15
My Research Projects
  • Auto debugging
  • Input analysis
  • Execution reduction
  • Dynamically matching program versions
  • Failure classification
  • Expanding
  • Auto program parallelization
  • Debugging for concurrent programs
Write a Comment
User Comments (0)
About PowerShow.com