Serviceeinschränkungen vom 12.-22.02.2026 - weitere Infos auf der UB-Homepage

Treffer: Heterogeneous tree structure classification to label Java programmers according to their expertise level.

Title:
Heterogeneous tree structure classification to label Java programmers according to their expertise level.
Authors:
Ortin, Francisco1 (AUTHOR) ortin@uniovi.es, Rodriguez-Prieto, Oscar1 (AUTHOR) rodriguezoscar@uniovi.es, Pascual, Nicolas1 (AUTHOR) uo245366@uniovi.es, Garcia, Miguel1 (AUTHOR) garciarmiguel@uniovi.es
Source:
Future Generation Computer Systems. Apr2020, Vol. 105, p380-394. 15p.
Database:
Business Source Premier

Weitere Informationen

Open-source code repositories are a valuable asset to creating different kinds of tools and services, utilizing machine learning and probabilistic reasoning. Syntactic models process Abstract Syntax Trees (AST) of source code to build systems capable of predicting different software properties. The main difficulty of building such models comes from the heterogeneous and compound structures of ASTs, and that traditional machine learning algorithms require instances to be represented as n -dimensional vectors rather than trees. In this article, we propose a new approach to classify ASTs using traditional supervised-learning algorithms, where a feature learning process selects the most representative syntax patterns for the child subtrees of different syntax constructs. Those syntax patterns are used to enrich the context information of each AST, allowing the classification of compound heterogeneous tree structures. The proposed approach is applied to the problem of labeling the expertise level of Java programmers. The system is able to label expert and novice programs with an average accuracy of 99.6%. Moreover, other code fragments such as types, fields, methods, statements and expressions could also be classified, with average accuracies of 99.5%, 91.4%, 95.2%, 88.3% and 78.1%, respectively. • New feature learning approach to classify great amounts of tree structures. • Syntactic classification of the programming expertise level of Java developers. • The system is able to label expert and novice programs with 99.6% accuracy. • Six different kinds of heterogeneous code fragments can be classified. • Identifies Java syntax patterns commonly used by expert and novice programmers. [ABSTRACT FROM AUTHOR]

Copyright of Future Generation Computer Systems is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)