TY - GEN
T1 - Mining Patterns in Source Code Using Tree Mining Algorithms
AU - Pham, H.S.
AU - Nijssen, Siegfried
AU - Mens, Kim
AU - Di Nucci, Dario
AU - Molderez, Tim
AU - De Roover, Coen
AU - Fabry, Johan
AU - Zaytsev, Vadim
PY - 2019
Y1 - 2019
N2 - Discovering regularities in source code is of great interest to software engineers, both in academia and in industry, as regularities can provide useful information to help in a variety of tasks such as code comprehension, code refactoring, and fault localisation. However, traditional pattern mining algorithms often find too many patterns of little use and hence are not suitable for discovering useful regularities. In this paper we propose FREQTALS, a new algorithm for mining patterns in source code based on the FREQT tree mining algorithm. First, we introduce several constraints that effectively enable us to find more useful patterns; then, we show how to efficiently include them in FREQT. To illustrate the usefulness of the constraints we carried out a case study in collaboration with software engineers, where we identified a number of interesting patterns in a repository of Java code.
AB - Discovering regularities in source code is of great interest to software engineers, both in academia and in industry, as regularities can provide useful information to help in a variety of tasks such as code comprehension, code refactoring, and fault localisation. However, traditional pattern mining algorithms often find too many patterns of little use and hence are not suitable for discovering useful regularities. In this paper we propose FREQTALS, a new algorithm for mining patterns in source code based on the FREQT tree mining algorithm. First, we introduce several constraints that effectively enable us to find more useful patterns; then, we show how to efficiently include them in FREQT. To illustrate the usefulness of the constraints we carried out a case study in collaboration with software engineers, where we identified a number of interesting patterns in a repository of Java code.
UR - http://www.scopus.com/inward/record.url?eid=2-s2.0-85075821930&partnerID=MN8TOARS
U2 - 10.1007/978-3-030-33778-0_35
DO - 10.1007/978-3-030-33778-0_35
M3 - Conference contribution
BT - DS 2019: Discovery Science
ER -