Jar2Ontology - A Tool for Automatic Extraction of Semantic Information from Java Object Code

We present here a novel approach (and its implementation) for the automatic extraction of semantic knowledge from Java libraries. We want to match software libraries, so we need to obtain as much information as possible to use it in the matching process. For this purpose, this approach extracts information about the structure of the classes (i.e., name, fields and hierarchy), as well as information about the behavior of the classes (i.e., methods). In the literature, to our knowledge, it can be only found lightweight approaches to the extraction of this kind of information from Java object code. The approach is implemented in an automatic extraction tool (called Jar2Ontology) that has been developed as a plug-in of the Protégé Ontology and Knowledge Acquisition System. Jar2Ontology extracts the semantics from Java libraries and translates it into OWL (Ontology Web Language).

[1]  Jérôme Euzenat,et al.  A Survey of Schema-Based Matching Approaches , 2005, J. Data Semant..

[2]  Beniamino Di Martino,et al.  A Technique for FPGA Synthesis Driven by Automatic Source Code Analysis and Transformations , 2002, FPL.

[3]  Swapna S. Gokhale,et al.  Static and dynamic distance metrics for feature-based code analysis , 2005, J. Syst. Softw..

[4]  Étienne Payet,et al.  A termination analyzer for Java bytecode based on path-length , 2010, TOPL.

[5]  Asunción Gómez-Pérez,et al.  Ontological Engineering: With Examples from the Areas of Knowledge Management, e-Commerce and the Semantic Web , 2004, Advanced Information and Knowledge Processing.

[6]  Daniel Jackson,et al.  Lightweight extraction of object models from bytecode , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[7]  Heiner Stuckenschmidt,et al.  Ontology-Based Integration of Information - A Survey of Existing Approaches , 2001, OIS@IJCAI.

[8]  Paul Buitelaar,et al.  Ontology-based information extraction and integration from heterogeneous data sources , 2008, Int. J. Hum. Comput. Stud..

[9]  Diomidis Spinellis,et al.  CScout: A refactoring browser for C , 2010, Sci. Comput. Program..

[10]  Markus Dahm Byte Code Engineering with the BCEL API , 2007 .

[11]  Martin P. Robillard,et al.  Improving API Usage through Automatic Detection of Redundant Code , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[12]  Nenad Medvidovic,et al.  Improving System Understanding via Interactive, Tailorable, Source Code Analysis , 2005, FASE.

[13]  Carlo Curino,et al.  Accessing and Documenting Relational Databases through OWL Ontologies , 2009, FQAS.

[14]  Jens Grabowski,et al.  Automated Refactoring Suggestions Using the Results of Code Analysis Tools , 2009, 2009 First International Conference on Advances in System Testing and Validation Lifecycle.

[15]  Yannis Kalfoglou,et al.  Ontology mapping: the state of the art , 2003, The Knowledge Engineering Review.

[16]  Erhard Rahm,et al.  A survey of approaches to automatic schema matching , 2001, The VLDB Journal.

[17]  Marguerite C. Murphy,et al.  Mapping ER Schemas to OWL Ontologies , 2009, 2009 IEEE International Conference on Semantic Computing.

[18]  Nathalie Pernelle,et al.  Incremental Ontology-Based Extraction and Alignment in Semi-structured Documents , 2009, DEXA.

[19]  Daniel Jackson,et al.  Lightweight Extraction of Object Models from Bytecode , 2001, IEEE Trans. Software Eng..

[20]  Dejing Dou,et al.  Ontology-based information extraction: An introduction and a survey of current approaches , 2010, J. Inf. Sci..

[21]  Hong Tang,et al.  The Vulnerability Analysis Framework for Java Bytecode , 2009, 2009 15th International Conference on Parallel and Distributed Systems.

[22]  Peter Amey Closing the Loop: The Influence of Code Analysis on Design , 2002, Ada-Europe.

[23]  Ettore Merlo,et al.  Extraction of Inter-procedural Simple Role Privilege Models from PHP Code , 2009, 2009 16th Working Conference on Reverse Engineering.