Show simple item record

Data from "Analyzing syntactic constructs of Java programs with machine learning"

dc.contributor.authorOrtín Soler, Francisco 
dc.contributor.authorFacundo Colunga, Guillermo 
dc.contributor.authorGarcía Rodríguez, Miguel 
dc.date.accessioned2024-01-17T07:05:33Z
dc.date.available2024-01-17T07:05:33Z
dc.date.issued2022-06-25
dc.identifier.urihttps://hdl.handle.net/10651/70847
dc.descriptionData from the article "F. Ortin, G. Facundo, M. Garcia. Analyzing syntactic constructs of Java programs with machine learning. Expert Systems with Applications (215), pp. 119398-119414, 2023. https://doi.org/10.1016/j.eswa.2022.119398"spa
dc.description.abstractThe massive number of open-source projects in public repositories has notably increased in the last years. Such repositories represent valuable information to be mined for different purposes, such as documenting recurrent syntactic constructs, analyzing the particular constructs used by experts and beginners, using them to teach programming and to detect bad programming practices, and building programming tools such as decompilers, Integrated Development Environments or Intelligent Tutoring Systems. An inherent problem of source code is that its syntactic information is represented with tree structures, while traditional machine learning algorithms use n-dimensional datasets. Therefore, we present a feature engineering process to translate tree structures into homogeneous and heterogeneous n-dimensional datasets to be mined. Then, we run different interpretable (supervised and unsupervised) machine learning algorithms to mine the syntactic information of more than 17 million syntactic constructs in Java code. The results reveal interesting information such as the Java constructs that are barely (and widely) used (e.g., bitwise operators, union types and static blocks), different language features and patterns mostly (and barely) used by beginners (and experts), the discovery of particular types of source code (e.g., helper or utility classes, data transfer objects and too complex abstractions), and how complexity is an inherent characteristic in some clusters of syntactic constructs.spa
dc.description.sponsorshipThis work has been partially funded by the Spanish Department of Science, Innovation and Universities: project RTI2018-099235-B-I00. The authors have also received funds from the University of Oviedo, Spain through its support of official research groups (GR-2011-0040).spa
dc.language.isoengspa
dc.relation.isreferencedbyF. Ortin, G. Facundo, M. Garcia. Analyzing syntactic constructs of Java programs with machine learning. Expert Systems with Applications (215), pp. 119398-119414, 2023. https://doi.org/10.1016/j.eswa.2022.119398spa
dc.rightsOpen Data Commons Attribution License (ODC-By)spa
dc.subjectAbstract syntax treespa
dc.subjectProgramming languagespa
dc.subjectData miningspa
dc.subjectFeature engineeringspa
dc.subjectProgramming idiomspa
dc.subjectHeterogeneous datasetspa
dc.titleData from "Analyzing syntactic constructs of Java programs with machine learning"spa
dc.typedatasetspa
dc.identifier.doi10.17811/ruo_datasets.70847
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 2021 - 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/67302
dc.publication.year2022


Files in this item

untranslated
untranslated

This item appears in the following Collection(s)

Show simple item record