Research Article

Discovering Sequential Source Code Patterns in Software Engineering

Volume: 10 Number: 1 January 31, 2022
TR EN

Discovering Sequential Source Code Patterns in Software Engineering

Abstract

Discovering sequential patterns in source codes is an important issue in software engineering since it can provide useful knowledge to help in a variety of tasks such as code completion, code refactoring, developer profiling, and code complexity measurement. This paper proposes a new framework, called Source Code Miner (SCodeMiner), which discovers frequent sequential rules within a software project. The proposed framework firstly transforms a Java code into a sequence data and then applies a sequential pattern mining (SPM) algorithm. This study is also original in that it compares four SPM algorithms in terms of computational time, including sequential pattern discovery using equivalence classes (SPADE), prefix-projected sequential pattern mining (PrefixSpan), bi-directional extension (BIDE+), and last position induction (LAPIN). The experiments that carried out on an open-source software project showed that the proposed SCodeMiner framework is an effective mining tool in identifying coding patterns.

Keywords

References

  1. [1] A. Agrawal, M. Alenezi, R. Kumar, and R. A. Khan, “Securing web applications through a framework of source code analysis,” J. Comput. Sci., vol. 15, no. 12, pp. 1780-1794, 2019.
  2. [2] F. Ebert, F. Castor, N. Novielli, and A. Serebrenik, “An exploratory study on confusion in code reviews,” Empirical Software Eng., vol. 26, no. 12, pp. 1-48, 2021.
  3. [3] S. Proksch, J. Lerch, and M. Mezini, “Intelligent code completion with Bayesian networks,” ACM Trans. Softw. Eng. Methodol., vol. 25, no. 1, pp. 1-31, 2015.
  4. [4] M. M. Rahman, Y. Watanobe, K. Nakamura, and M. Bures, “A neural network based intelligent support model for program code completion,” Sci. Program., vol. 2020, pp. 1-18, 2020.
  5. [5] L. Kaur and A. Mishra, “Cognitive complexity as a quantifier of version to version Java-based source code change: An empirical probe,” Inf. Softw. Technol, vol. 106, pp. 31-48, 2019.
  6. [6] A. A. Abdelaal, S. Abed, M. Al-Shayeji, and M. Allaho, “Customized frequent patterns mining algorithms for enhanced Top-Rank-K frequent pattern mining,” Expert Syst. Appl., vol. 169, pp. 1-14, 2021.
  7. [7] W. Gan, J. C.-W. Lin, P. Fournier-Viger, H.-C. Chao, and P. S. Yu, “A survey of parallel sequential pattern mining,” ACM Trans. Knowl. Discovery Data, vol. 13, no. 3, pp. 1-34, 2019.
  8. [8] J. Pei et al., “Mining sequential patterns by pattern-growth: The PrefixSpan approach,” IEEE Trans. Knowl. Data Eng., vol. 16, no. 10, pp. 1-17, 2004.

Details

Primary Language

English

Subjects

Engineering

Journal Section

Research Article

Publication Date

January 31, 2022

Submission Date

March 29, 2021

Acceptance Date

August 22, 2021

Published in Issue

Year 2022 Volume: 10 Number: 1

APA
Birant, K., & Kırnapcı, D. (2022). Discovering Sequential Source Code Patterns in Software Engineering. Duzce University Journal of Science and Technology, 10(1), 309-324. https://doi.org/10.29130/dubited.905510
AMA
1.Birant K, Kırnapcı D. Discovering Sequential Source Code Patterns in Software Engineering. DUBİTED. 2022;10(1):309-324. doi:10.29130/dubited.905510
Chicago
Birant, Kökten, and Dilara Kırnapcı. 2022. “Discovering Sequential Source Code Patterns in Software Engineering”. Duzce University Journal of Science and Technology 10 (1): 309-24. https://doi.org/10.29130/dubited.905510.
EndNote
Birant K, Kırnapcı D (January 1, 2022) Discovering Sequential Source Code Patterns in Software Engineering. Duzce University Journal of Science and Technology 10 1 309–324.
IEEE
[1]K. Birant and D. Kırnapcı, “Discovering Sequential Source Code Patterns in Software Engineering”, DUBİTED, vol. 10, no. 1, pp. 309–324, Jan. 2022, doi: 10.29130/dubited.905510.
ISNAD
Birant, Kökten - Kırnapcı, Dilara. “Discovering Sequential Source Code Patterns in Software Engineering”. Duzce University Journal of Science and Technology 10/1 (January 1, 2022): 309-324. https://doi.org/10.29130/dubited.905510.
JAMA
1.Birant K, Kırnapcı D. Discovering Sequential Source Code Patterns in Software Engineering. DUBİTED. 2022;10:309–324.
MLA
Birant, Kökten, and Dilara Kırnapcı. “Discovering Sequential Source Code Patterns in Software Engineering”. Duzce University Journal of Science and Technology, vol. 10, no. 1, Jan. 2022, pp. 309-24, doi:10.29130/dubited.905510.
Vancouver
1.Kökten Birant, Dilara Kırnapcı. Discovering Sequential Source Code Patterns in Software Engineering. DUBİTED. 2022 Jan. 1;10(1):309-24. doi:10.29130/dubited.905510