Title
Techniques for specifying bug patterns
Abstract
We present our on-going work to develop techniques for specifying source code signatures of bug patterns. Specifically, we discuss two approaches. The first approach directly analyzes a program in the intermediate representation (IR) of the ROSE compiler infrastructure using ROSE's API. The second analyzes the program using the bddbddb system of Lam, Whaley, et al.. In this approach, we store the IR produced by ROSE as a relational database, express patterns as declarative inference rules on relations in the language Datalog, and bddbddb implements the Datalog programs using binary decision diagram (BDD) techniques. Both approaches readily apply to large-scale applications, since ROSE provides full type analysis, control flow, and other available analysis information. In this paper, we primarily consider bug patterns expressed with respect to the structure of the source code or the control flow, or both. More complex techniques to specify patterns that are functions of data flow properties may be addressed by either of the above approaches, but are not directly treated here. Our Datalog-based work includes explicit support for expressing patterns on the use of the Message Passing Interface (MPI) in parallel distributed memory programs. We show examples of this on-going work as well.
Year
DOI
Venue
2007
10.1145/1273647.1273654
PADTAD
Keywords
Field
DocType
data flow property,control flow,rose compiler infrastructure,datalog program,available analysis information,datalog-based work,full type analysis,bddbddb system,bug pattern,on-going work,datalog,distributed memory,source code,message passing interface,data flow,relational database,inference rule,static analysis,intermediate representation,binary decision diagram
Programming language,Relational database,Computer science,Source code,Control flow,Binary decision diagram,Compiler,Theoretical computer science,Message Passing Interface,Datalog,Data flow diagram
Conference
Citations 
PageRank 
References 
1
0.35
19
Authors
3
Name
Order
Citations
PageRank
Daniel J. Quinlan165280.13
Richard Vuduc21343100.74
Ghassan Misherghi337612.74