1 Typical enterprise and military software systems consist of millions of lines of code with complicated dependence on 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 ode 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 ...