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
相关论文
共 20 条
  • [1] Mining control patterns from Java']Java program corpora
    Chen, DJ
    Hwang, CC
    Huang, SK
    Chen, DTK
    JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 2004, 20 (01) : 57 - 83
  • [2] The Java']Java Syntactic Extender (JS']JSE)
    Bachrach, J
    Playford, K
    ACM SIGPLAN NOTICES, 2001, 36 (11) : 31 - 42
  • [3] Analyzing syntactic constructs of Java']Java programs with machine learning
    Ortin, Francisco
    Facundo, Guillermo
    Garcia, Miguel
    EXPERT SYSTEMS WITH APPLICATIONS, 2023, 215
  • [4] 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
  • [5] Building Java']Java Intelligent Applications Data Mining for Java']Java Type-2 Fuzzy Inference Systems
    Castanon-Puga, Manuel
    Miguel Flores-Parra, Josue
    Ramon Castro, Juan
    Gaxiola-Pacheco, Carelia
    Enrique Palafox-Maestre, Luis
    INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, ICCS 2015 COMPUTATIONAL SCIENCE AT THE GATES OF NATURE, 2015, 51 : 2719 - 2728
  • [6] A Functional Approach to Parallelizing Data Mining Algorithms in Java']Java
    Kholod, Ivan
    Shorov, Andrey
    Gorlatch, Sergei
    PARALLEL COMPUTING TECHNOLOGIES (PACT 2017), 2017, 10421 : 459 - 472
  • [7] SPMF: A Java']Java Open-Source Pattern Mining Library
    Fournier-Viger, Philippe
    Gomariz, Antonio
    Gueniche, Ted
    Soltani, Azadeh
    Wu, Cheng-Wei
    Tseng, Vincent S.
    JOURNAL OF MACHINE LEARNING RESEARCH, 2014, 15 : 3389 - 3393
  • [8] Mining Java']Java Memory Errors using Subjective Interesting Subgroups with Hierarchical Targets
    Remil, Youcef
    Bendimerad, Anes
    Chambard, Mathieu
    Mathonat, Romain
    Plantevit, Marc
    Kaytoue, Mehdi
    2023 23RD IEEE INTERNATIONAL CONFERENCE ON DATA MINING WORKSHOPS, ICDMW 2023, 2023, : 1221 - 1230
  • [9] Mining Interprocedural, Data-Oriented Usage Patterns in Java']JavaScript Web Applications
    Hung Viet Nguyen
    Hoan Anh Nguyen
    Anh Tuan Nguyen
    Nguyen, Tien N.
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 791 - 802
  • [10] Discovering Bug Patterns in Java']JavaScript
    Hanam, Quinn
    Brito, Fernando S. de M.
    Mesbah, Ali
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 144 - 156