Mostrar el registro sencillo del ítem

Data from the article: An Efficient and Scalable Platform for Java Source Code Analysis using Overlaid Graph Representations

dc.contributor.authorRodríguez Prieto, Óscar 
dc.contributor.authorMycroft, Alan
dc.contributor.authorOrtín Soler, Francisco 
dc.date.accessioned2025-01-09T11:36:15Z
dc.date.available2025-01-09T11:36:15Z
dc.date.issued2020-02-24
dc.identifier.urihttps://hdl.handle.net/10651/76098
dc.descriptionData from the article "O. Rodriguez-Prieto, A. Mycroft, F. Ortin. An Efficient and Scalable Platform for Java Source Code Analysis using Overlaid Graph Representations. IEEE Access (8), pp. 72239-72260, 2020. https://doi.org/10.1109/ACCESS.2020.2987631"spa
dc.description.abstractAlthough source code programs are commonly written as textual information, they enclose syntactic and semantic information that is usually represented as graphs. This information is used for many different purposes, such as static program analysis, advanced code search, coding guideline checking, software metrics computation, and extraction of semantic and syntactic information to create predictive models. Most of the existing systems that provide these kinds of services are designed ad hoc for the particular purpose they are aimed at. For this reason, we created ProgQuery, a platform to allow users to write their own Java program analyses in a declarative fashion, using graph representations. We modify the Java compiler to compute seven syntactic and semantic representations, and store them in a Neo4j graph database. Such representations are overlaid, meaning that syntactic and semantic nodes of the different graphs are interconnected to allow combining different kinds of information in the queries/analyses. We evaluate ProgQuery and compare it to the related systems. Our platform outperforms the other systems in analysis time, and scales better to program sizes and analysis complexity. Moreover, the queries coded show that ProgQuery is more expressive than the other approaches. The additional information stored by ProgQuery increases the database size and associated insertion time, but these increases are significantly lower than the query/analysis performance gains obtained.spa
dc.description.sponsorshipThis work has been partially funded by the Spanish Department of Science, Innovation and Universities: project RTI2018-099235-B-I00. The first and third authors have also received funds from the University of Oviedo through its support to official research groups (GR-2011-0040).spa
dc.language.isoengspa
dc.relation.isreferencedbyO. Rodriguez-Prieto, A. Mycroft, F. Ortin. An Efficient and Scalable Platform for Java Source Code Analysis using Overlaid Graph Representations. IEEE Access (8), pp. 72239-72260, 2020. https://doi.org/10.1109/ACCESS.2020.2987631spa
dc.rightsOpen Data Commons Attribution License (ODC-By)spa
dc.rights© Los/as autores/as
dc.subjectcode analysisspa
dc.subjectgraph databasespa
dc.subjectcoding guidelinesspa
dc.subjectdeclarative query languagespa
dc.subjectprogram representationspa
dc.subjectCypherspa
dc.subjectJavaspa
dc.subjectNeo4jspa
dc.titleData from the article: An Efficient and Scalable Platform for Java Source Code Analysis using Overlaid Graph Representationsspa
dc.typedatasetspa
dc.identifier.doi10.17811/ruo_datasets.76098
dc.relation.projectIDinfo:eu-repo/grantAgreement/AEI/Plan Estatal de Investigación Científica y Técnica y de Innovación 2017-2020/RTI2018-099235-B-I00/ES/MODELADO DE USUARIO PARA PERSONALIZACION DE INTERFAZ GUIADO POR ANALISIS AUTOMATICO DE PATRONES DE COMPORTAMIENTO/ spa
dc.relation.projectIDinfo:eu-repo/grantAgreement/University of Oviedo/Plan Propio 2019 - Grants for the maintenance of research activities of university research institutes and research groups recognized by the University of Oviedo/GR-2011-0040/ES/Computational Reflection Research Group/spa
dc.rights.accessRightsopen accessspa
dc.relation.ispartofURIhttp://hdl.handle.net/10651/54284
dc.publication.year2020


Ficheros en el ítem

untranslated
untranslated

Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem