skip to main content
10.1145/3466933.3466951acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbsiConference Proceedingsconference-collections
research-article

Source Code Interoperability based on Ontology

Published:08 July 2021Publication History

ABSTRACT

The different ways of representing a source code in different programming languages create a heterogeneous context. In addition, the use of multiple programming languages in a single source code (polyglot programming) brings a wide choice of terms from different languages, libraries and structures. These facts prevent the direct exchange of information between source codes of different programming languages, requiring specialized knowledge of the programming languages involved. In this article, we present an ontology-based method for source code interoperability that provides an alternative to mitigate heterogeneity problems, aiming to semantically represent the source code written in different programming languages and apply it from different perspectives in a unified way. In this sense, the method is applied in a lab experiment with the objective of validating its methodological aspects, instantiating their respective phases in different subdomains (object orientation and object/relational mapping) and programming languages (Java and Python) in the code smells detection perspective. In addition, the code smell detector produced is evaluated with a set of real-world software projects written in Java and Python.

Skip Supplemental Material Section

Supplemental Material

sbsi2021-18-video.mp4

mp4

19.5 MB

References

  1. Suelen Goularte Carvalho, Maurício Aniche, Júlio Veríssimo, Rafael S. Durelli, and Marco Aurélio Gerosa. 2019. An empirical catalog of code smells for the presentation layer of Android apps. Empirical Software Engineering 24, 6 (dec 2019), 3546–3586.Google ScholarGoogle ScholarCross RefCross Ref
  2. Luis Paulo da Silva Carvalho, Renato Lima Novais, Laís do Nascimento Salvador, and Manoel Gomes de Mendonça Neto. 2017. An Ontology-based Approach to Analyzing the Occurrence of Code Smells in Software. In Prof. of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS. ScitePress, 155–165.Google ScholarGoogle ScholarCross RefCross Ref
  3. Phongphan Danphitsanuphan and Thanitta Suwantada. 2012. Code smell detecting tool and code smell-structure bug relationship. In 2012 Spring Congress on Engineering and Technology. IEEE, 1–5.Google ScholarGoogle ScholarCross RefCross Ref
  4. Camila Zacché de Aguiar, Ricardo de Almeida Falbo, and Vítor E Silva Souza. 2019. OOC-O: A reference ontology on object-oriented code. In International Conference on Conceptual Modeling. Springer, 13–27.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Ricardo A. Falbo. 2014. SABiO: Systematic Approach for Building Ontologies. In Proc. of the 1st Joint Workshop ONTO.COM / ODISE on Ontologies in Conceptual Modeling and Information Systems Engineering. CEUR, Rio de Janeiro, RJ, Brasil.Google ScholarGoogle Scholar
  6. J Gosling, B Joy, G Steele, G Bracha, A Buckley, and D Smith. 2018. The Java language specification: Java SE 10 edition, 20 February 2018.Google ScholarGoogle Scholar
  7. Giancarlo Guizzardi. 2005. Ontological Foundations for Structural Conceptual Models. PhD Thesis. University of Twente, The Netherlands.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Giancarlo Guizzardi. 2019. Ontology, Ontologies and the “I” of FAIR Giancarlo. Data Intelligence 23, November (2019), 0–2. https://doi.org/10.1162/dintGoogle ScholarGoogle Scholar
  9. Giancarlo Guizzardi and Gerd Wagner. 2004. A Unified Foundational Ontology and some Applications of it in Business Modeling. In Proc. of the 2004 Open InterOp Workshop on Enterprise Modelling and Ontologies for Interoperability. CEUR.Google ScholarGoogle Scholar
  10. Christoph Kiefer, Abraham Bernstein, and Jonas Tappolet. 2007. Analyzing software with iSPARQL. In Proc. of the 3rd International Workshop on Semantic Web Enabled Software Engineering. 1–15.Google ScholarGoogle Scholar
  11. Rohit Kumar and Jaspreet Singh. 2016. A unique code smell detection and refactoring scheme for evaluating software maintainability. International Journal of Latest Trends in Engineering and Technology 7 (2016), 421–436.Google ScholarGoogle Scholar
  12. Naouel Moha, Yann-Gael Gueheneuc, Laurence Duchien, and Anne-Francoise Le Meur. 2009. Decor: A method for the specification and detection of code and design smells. IEEE Transactions on Software Engineering 36, 1 (2009), 20–36.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Ghulam Rasool and Zeeshan Arshad. 2017. A lightweight approach for detection of code smells. Arabian Journal for Science and Engineering 42, 2 (2017), 483–506.Google ScholarGoogle ScholarCross RefCross Ref
  14. Amit P. Sheth. 1999. Changing Focus on Interoperability in Information Systems: from Systems, Syntax, Structures to Semantics. Interoperating Geographic Information Systems (1999).Google ScholarGoogle Scholar
  15. Rudi Studer, V Richard Benjamins, and Dieter Fensel. 1998. Knowledge engineering: principles and methods. Data & knowledge engineering 25, 1-2 (1998), 161–197.Google ScholarGoogle Scholar
  16. Ewan Tempero, Craig Anslow, Jens Dietrich, Ted Han, Jing Li, Markus Lumpe, Hayden Melton, and James Noble. 2010. Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies. In Proc. of the 2010 Asia Pacific Software Engineering Conference (APSEC2010). IEEE, 336–345.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer.Google ScholarGoogle ScholarCross RefCross Ref
  18. Félix Luiz Zanetti, Camila Zacche de Aguiar, and Vıtor E Silva Souza. 2019. Representacao ontologica de frameworks de mapeamento objeto/relacional. In Proc. of the 12th Seminar on Ontology Research in Brazil (ONTOBRAS 2019). CEUR, Porto Alegre, RS, Brasil.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    SBSI '21: Proceedings of the XVII Brazilian Symposium on Information Systems
    June 2021
    453 pages
    ISBN:9781450384919
    DOI:10.1145/3466933

    Copyright © 2021 ACM

    Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 8 July 2021

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate181of557submissions,32%
  • Article Metrics

    • Downloads (Last 12 months)8
    • Downloads (Last 6 weeks)2

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format .

View HTML Format