loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
2008 32nd Annual IEEE International Computer Software and Applications Conference
Ontology Model-Based Static Analysis on Java Programs
July 28-August 01
ISBN: 978-0-7695-3262-2
Typical enterprise and military software systems consist of millions of lines of code with complicated dependence on diverse library abstractions. Manually debugging these codes imposes developers overwhelming workload and difficulties. To address software quality concerns efficiently, this paper proposes an ontology-based static analysis approach to automatically detect bugs in the source code of Java programs. First, we elaborate bug list collected, classify bugs into different categories, and translate bug patterns into SWRL (Semantic Web Rule Language) rules using an ontology tool, Prot?g?. An ontology model of Java program is created according to Java program specification using Prot?g? as well. Both SWRL rules and the program ontology model are exported in OWL (Web Ontology Language) format. Second, Java source code under analysis is parsed into the Abstract Syntax Tree (AST), which is automatically mapped to the individuals of the program ontology model. SWRL Bridge takes in the exported OWL file (representing the SWRL rules model and program ontology model) and the individuals created for the Java code, conduits to Jess (a rule engine), and obtains inference results indicating any bugs. We perform experiments to compare bug detection capability with well-known FindBugs tool. A prototype of bug detector tool is developed to show the validity of the proposed static analysis approach.
Index Terms:
Program ontology model, static analysis, bug detector, abstract syntax tree (AST), reasoning
Citation:
Lian Yu, Jun Zhou, Yue Yi, Ping Li, Qianxiang Wang, "Ontology Model-Based Static Analysis on Java Programs," compsac, pp.92-99, 2008 32nd Annual IEEE International Computer Software and Applications Conference, 2008
Usage of this product signifies your acceptance of the Terms of Use.