• DocumentCode
    2448618
  • Title

    Ontology Model-Based Static Analysis on Java Programs

  • Author

    Yu, Lian ; Zhou, Jun ; Yi, Yue ; Li, Ping ; Wang, Qianxiang

  • Author_Institution
    Sch. of Software & Microelectron., Peking Univ., Beijing
  • fYear
    2008
  • fDate
    July 28 2008-Aug. 1 2008
  • Firstpage
    92
  • Lastpage
    99
  • Abstract
    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, Protege. An ontology model of Java program is created according to Java program specification using Protege 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.
  • Keywords
    Java; formal specification; knowledge representation languages; ontologies (artificial intelligence); program compilers; program debugging; program diagnostics; software quality; software tools; FindBugs tool; Java program specification; Jess rule engine; Protege ontology tool; SWRL rule; Web ontology language format; abstract syntax tree; automatic code debugging; bug detector tool; ontology model-based static analysis; program parsing; program translation; semantic Web rule language; software quality; Bridges; Computer bugs; Debugging; Java; OWL; Ontologies; Semantic Web; Software libraries; Software quality; Software systems; Program ontology model; abstract syntax tree (AST); bug detector; reasoning; static analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Software and Applications, 2008. COMPSAC '08. 32nd Annual IEEE International
  • Conference_Location
    Turku
  • ISSN
    0730-3157
  • Print_ISBN
    978-0-7695-3262-2
  • Electronic_ISBN
    0730-3157
  • Type

    conf

  • DOI
    10.1109/COMPSAC.2008.73
  • Filename
    4591539