Mining Common Syntactic Patterns used by Java']Java Programmers

被引:1
|
作者
Losada, Alvaro [1 ]
Facundo, Guillermo [1 ]
Garcia, Miguel [1 ]
Ortin, Francisco [1 ]
机构
[1] Univ Oviedo, Comp Sci Dept, C Federico Garcia Lorca 18, Oviedo 33007, Spain
关键词
!text type='Java']Java[!/text; Syntactics; Software development management; Software; IEEE transactions; Data mining; Codes; Syntactic patterns; rule mining; Abstract Syntax Trees; association rules;
D O I
10.1109/TLA.2022.9693559
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Open source code repositories provide massive data as programs that have been used to develop different tools. These kinds of works have been included in the active Big Code and Mining Software Repositories research fields. Although different machine learning works already classify the syntactic constructs used by programmers, there are no reports about the most common syntactic patterns used by Java programmers. In this article, we describe a system we build to provide such a report. Our system retrieves the syntactic patterns used by Java programmers, distinguishing those utilized by experts and beginners. We also present the anomalies found in the usage of different syntactic constructs. We modify the OpenJDK compiler to double the syntactic information included in its Abstract Syntax Tree (AST), define a mechanism to translate ASTs into n-dimensional vectors, combine the information of different syntax constructs to build heterogeneous patterns, and apply the Frequent Pattern Growth algorithm to mine the syntactic patterns as association rules. The mined patterns allow expressing hierarchical subpatterns connected to one another, providing a high level of expressiveness.
引用
收藏
页码:753 / 762
页数:10
相关论文
共 50 条
  • [21] The Java']Java Data Mining Package - A Data Processing Library for Java']Java
    Arndt, Holger
    2009 IEEE 33RD INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOLS 1 AND 2, 2009, : 614 - 615
  • [22] The Expression of Common Concurrency Patterns in Join Java
    Itzstein, G. Stewart
    Kearney, David
    Proc. Int. Conf. Parall. Distr. Process. Tech. Appl. PDPTA'04, (1021-1027):
  • [23] Analyzing syntactic constructs of Java']Java programs with machine learning
    Ortin, Francisco
    Facundo, Guillermo
    Garcia, Miguel
    EXPERT SYSTEMS WITH APPLICATIONS, 2023, 215
  • [24] Can real-time software engineering be taught to Java']Java programmers?
    Smith, S
    Lawson, SW
    Lawson, A
    17TH CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING, PROCEEDINGS, 2004, : 124 - 129
  • [25] The Java syntactic extender (JSE)
    Bachrach, J. (jrb@ai.mit.edu), 2001, Association for Computing Machinery (36):
  • [26] Micro patterns in Java']Java code
    Gil, J
    Maman, I
    ACM SIGPLAN NOTICES, 2005, 40 (10) : 97 - 116
  • [27] Real-time Java™ for Ada programmers
    Brosgol, Benjamin M.
    Ada User Journal, 2004, 25 (04): : 220 - 226
  • [28] Object-orientation in Java for scientific programmers
    Bishop, Judith
    Bishop, Nigel
    SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 2000, : 357 - 361
  • [29] An Eye-Tracking Study of Java']Java Programmers and Application to Source Code Summarization
    Rodeghero, Paige
    Liu, Cheng
    McBurney, Paul W.
    McMillan, Collin
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (11) : 1038 - 1054
  • [30] A Program Visualization Approach in Developing an Interactive Simulation of Java']Java Programs for Novice Programmers
    Agno-Balabat, Aurora Cindy G.
    Rojo, Noel N.
    MINDANAO JOURNAL OF SCIENCE AND TECHNOLOGY, 2012, 10 : 63 - 79