Empirical Vulnerability Analysis Tool Unification |
|||||||||||||||||||||
Problem StatementAverage programmers often write programs that have bugs, and sometimes these buggy programs end up being distributed to other computers to be exploited by malicious users. There are several tools programmers can use to analyze their code to help reduce the bugs, but few programmers use these tools. Even if some tools are used, the coverage of bug analysis is rather poor. The problem is two-fold: 1) average programmers are not aware of the tools available, and 2) average programmers don't want to learn the ins and outs of the different tools.SolutionConsider a single tool that could check for all of the vulnerabilities for which current tools check. A programmer would only have to learn the interface - command line arguments, output, annotations, and specifications - for one tool. Of course, the interface would need to incorporate the intracacies of each tool, but could be designed in such a way that there is a uniform format and style. While coding, the programmer could add the appropriate annotations and specifications in a similar fashion as commenting the code, speeding up the vulnerability checking process.The process of combining these tools into one is called unification and is a very difficult task, particularly when you consider that new tools are being developed all the time. Our first goal is to take a small set of tools and design a tool that merges them into one tool that provides a single interface. Second, we will use this experience and literature on previous related research to recommend guidelines that tool creators could follow to make their tools more usable (in terms of working with them and unifying them). Milestones
Project DetailsOur group has recognized that this project is a fairly large undertaking for a quarter-long project. The milestones are iterative and the part we plan to focus on most is the Design phase. We reason that if we create a good design for unifying the different tools, we have accomplished the biggest and most challenging part of our project. If it happens that our timeline is too ambitious, we will at least be proud of our design and will be able to report our work. References
Less Formal References
|