
[ CS 199 Final Paper Outline ]

0. Author
1. Goals
2. Similar projects
3. Methodology
  3.1 Null checking useing Ccured
  3.2 Some array bounds checking
  3.3 Reachability with BLAST
4. Sucesses
  4.1 Simple programs
  4.2 Some odd C syntax
  4.3 getopt()
    4.1.1 Gets caught in inital loop (see later for fix)
    4.1.1 Able to check validity other than initial loop
5. Failures
  5.1 Anything with complex looping contructs
  5.2 Anything needing quantified predicates
6. Improvements
  6.1 Loop bypassing using havoc
  6.2 Slicing
    6.2.1 Create a slice of the program
    6.2.2 Slice ONLY depends on the variable in question
    6.2.3 Should dramatically improve performace
    6.2.4 Limits the number of tracked predicates
  6.3 Timeouts
7. Future
  7.1 Teach BLAST how to recognize more complex structures
    7.1.1 Quantified predicates
    7.1.2 Ask Rupak
  7.2 Add C++ parsing to CIL
  7.3 Add support for all C syntax
  7.4 Test using newly found bugs


[ Original at http://www.joshhyman.com/opensource/bugs/final.outline ]
