JAR2ONTOLOGY - A TOOL FOR AUTOMATIC EXTRACTION OF SEMANTIC INFORMATION FROM JAVA OBJECT CODE

Nicolás Marín, Clara Sáez-Árcija, M. Amparo Vila

Abstract

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 {\em Jar2Ontology}) that has been developed as a plug-in of the Prot\'eg\'e Ontology and Knowledge Acquisition System. Jar2Ontology extracts the semantics from Java libraries and translates it into OWL (Ontology Web Language).

References

  1. Amey, P. (2002). Closing the Loop: The Influence of Code Analysis on Design. Reliable Software Technologies - Ada-Europe 2002. LNCS, 2361:151-162.
  2. Buitelaar, P., Cimiano, P., Frank, A., Hartung, M., and Raioppa, S. (2008). Ontology-based Information Extraction and Integration from Heterogeneous Data Sources. International Journal of Human-Computer Studies, 66(11):759-788.
  3. Curino, C., Orsi, G., Panigati, E., and Tanca, L. (2009). Accessing and Documenting Relational Databases through OWL Ontologies. Flexible Query Answering Systems (FQAS'09). LNAI, 5822:431-442.
  4. Dahm, M. (2001). Byte Code Engineering with the BCEL API. Technical report, Freie Universität Berlin. Institut für Informatik.
  5. Dahm, M. and Van Zyl, J. (2006). Byte Code Engineering Library.
  6. Gómez-Pérez, A., Fernández-L ópez, M., and Corcho, O. (2004). Ontological Engineering: With Examples from the Areas of Knowledge Management, eCommerce and the Semantic Web. Springer.
  7. Herbold, S., Grabowski, J., and Neukirchen, H. (2009). Automated Refactoring Suggestions Using the Results of Code Analysis Tools. First International Conference in System Testing and Validation Lifecycle, pages 104-109.
  8. Hong, T., Hua, C., Gang, Z., Qiang, L., and Jinjin, Z. (2009). The Vulnerability Analysis Framework for Java Bytecode. 15th International Conference on Parallel and Distributed Systems, pages 896-901.
  9. Jackson, D. and Waingold, A. (1999). Lightweight extraction of object models from bytecode. Proceedings of the 21st international conference on Software engineering, pages 194-202.
  10. Jakobac, V., Egyed, A., and Medvidovic, N. (2005). Improving System Understanding via Interactive, Tailorable, Source Code Analysis. Fundamental Approaches to Software Engineering (FASE). LCNS, 3442:253-268.
  11. Kalfoglou, Y. and Schorlemmer, M. (2003). Ontology Mapping: the State of the Art. The Knowledge Engineering Review Journal (KER), 18(1):1-31.
  12. Kawrykow, D. and Robillard, P. (2009). Improving API Usage trhough Automatic Detection of Redundant Code. IEEE/ACM International Conference on Automated Software Engineering, pages 111-122.
  13. Letarte, D. and Merlo, E. (2009). Extraction of Interprocedural Simple Role Privilege Models from PHP Code. 16th Working Conference on Reverse Engineering, pages 187-191.
  14. Martino, B., Mazzocca, N., Saggese, G., and Strollo, A. (2002). A Technique for FPGA Synthesis Driven by Automatic Source Code Analysis and Transformations. International Conference on Field Programmable Logic and Applications (FLP). LCNS, 2438:47-58.
  15. Myroshnichenko, I. and Murphy, M. (2009). Mapping ER Schemas to OWL Ontologies. IEEE International Conference on Semantic Computing, pages 324-329.
  16. Rahm, E. and Bernstein, P. (2001). A Survey of Approaches to Automatic Schema Matching. The VLDB Journal, 10:334-350.
  17. Sáez-Í rcija, C., Marín, N., and Vila, M. (2009). A LazyTyping Based Architecture for a Data Integration System. Workshop on New Trends on Intelligent Systems and Soft Computing, 2:1-18.
  18. Shvaiko, P. and Euzenat, J. (2005). A Survey of Schemabased Matching Approaches. Journal on Data Semantics(JoDS).
  19. Spinellis, D. (2010). CScout: A refactoring browser for C. Science of Computer Programming, 75:216-231.
  20. Spoto, F., Mesnard, F., and Payet, E. (2010). A Termination Analyzer for Java Bytecode Based on Path-Length. ACM Transactions on Programming Languages and Systems, 32(3):8:1-8:70.
  21. Thiam, M., Bennacer, N., Pernelle, N., and L oˆ, M. (2009). Incremental Ontology-Based Extraction and Alignment in Semi-structured Documents. 20nd International Conference on Database and ExperSystems Applications (DEXA). LCNS, 5690:611-618.
  22. Wache, H., Vgele, T., Visser, U., Stuckenschmidt, H., Schuster, G., Neumann, H., and Hbner, S. (2001). Ontology-Based Integration of Information - A Survey of Existing Approaches. Workshop on Ontologies and Information Sharing at the International Joint Conference on Artificial Intelligence (IJCAI), pages 108-117.
  23. Wimalasuriya, D. and Dou, D. (2010). Ontology-based Information Extraction: An Introduction and a Survey of Current Approaches. Journal of Information Science, 36(3):306-323.
  24. Wong, W. and Gokhale, S. (2005). Static and Dynamic Distance Metrics for Feature-based Code Analysis. The Journal of Systems and Software, 74:283-295.
Download


Paper Citation


in Harvard Style

Marín N., Sáez-Árcija C. and Amparo Vila M. (2011). JAR2ONTOLOGY - A TOOL FOR AUTOMATIC EXTRACTION OF SEMANTIC INFORMATION FROM JAVA OBJECT CODE . In Proceedings of the 13th International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 978-989-8425-53-9, pages 267-276. DOI: 10.5220/0003510302670276


in Bibtex Style

@conference{iceis11,
author={Nicolás Marín and Clara Sáez-Árcija and M. Amparo Vila},
title={JAR2ONTOLOGY - A TOOL FOR AUTOMATIC EXTRACTION OF SEMANTIC INFORMATION FROM JAVA OBJECT CODE},
booktitle={Proceedings of the 13th International Conference on Enterprise Information Systems - Volume 1: ICEIS,},
year={2011},
pages={267-276},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003510302670276},
isbn={978-989-8425-53-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 13th International Conference on Enterprise Information Systems - Volume 1: ICEIS,
TI - JAR2ONTOLOGY - A TOOL FOR AUTOMATIC EXTRACTION OF SEMANTIC INFORMATION FROM JAVA OBJECT CODE
SN - 978-989-8425-53-9
AU - Marín N.
AU - Sáez-Árcija C.
AU - Amparo Vila M.
PY - 2011
SP - 267
EP - 276
DO - 10.5220/0003510302670276