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 条
  • [31] Heterogeneous tree structure classification to label Java']Java programmers according to their expertise level
    Ortin, Francisco
    Rodriguez-Prieto, Oscar
    Pascual, Nicolas
    Garcia, Miguel
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2020, 105 : 380 - 394
  • [32] Expert system for extracting syntactic information from Java']Java code
    Depradine, C
    EXPERT SYSTEMS WITH APPLICATIONS, 2003, 25 (02) : 187 - 198
  • [33] Case Study on the Terms Novice Programmers Use to Describe Code Snippets in Java']Java
    Esche, Svana
    Weihe, Karsten
    IEEE TRANSACTIONS ON EDUCATION, 2023, 66 (06) : 642 - 653
  • [34] RECOMMENDING JAVA']JAVA API METHODS BASED ON PROGRAMMING TASK DESCRIPTIONS BY NOVICE PROGRAMMERS
    Lim, Chun Jiann
    Su, Moon Ting
    MALAYSIAN JOURNAL OF COMPUTER SCIENCE, 2023, 36 (02) : 148 - 172
  • [35] Data Mining Historic Stock Quotes in Java']Java
    Lyon, Douglas
    JOURNAL OF OBJECT TECHNOLOGY, 2007, 6 (10): : 17 - 23
  • [36] Mining Java']Java Class Identifier Naming Conventions
    Butler, Simon
    2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2012, : 1641 - 1643
  • [37] Design patterns, Java']Java, and Web development
    Remy, M
    DR DOBBS JOURNAL, 1997, 22 (06): : 28 - +
  • [38] FIELD PATTERNS IN RURAL CENTRAL JAVA']JAVA
    ROLL, W
    GEOGRAPHISCHE ZEITSCHRIFT, 1977, 65 (04) : 283 - 301
  • [39] Elemental design patterns recognition in Java']Java
    Arcelli, Francesca
    Masiero, Stefano
    Raibulet, Claudia
    13TH IEEE INTERNATIONAL WORKSHOP ON SOFTWARE TECHNOLOGY AND ENGINEERING PRACTICE, PROCEEDINGS, 2006, : 196 - +
  • [40] Usage patterns of the Java']Java standard API
    Ma, Homan
    Amor, Robert
    Tempero, Ewan
    ASPEC 2006: 13TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2006, : 342 - +