RefDetect: A Multi-Language Refactoring Detection Tool Based on String Alignment

被引:5
|
作者
Moghadam, Iman Hemati [1 ]
Cinneide, Mel O. [2 ]
Zarepour, Faezeh [3 ]
Jahanmir, Mohamad Aref [1 ]
机构
[1] Vali E Asr Univ Rafsanjan, Dept Comp Engn, Rafsanjan 7718897111, Iran
[2] Natl Univ Ireland, Sch Comp Sci, Dublin D04 V1W8, Ireland
[3] Allameh Jafari Inst Rafsanjan, Dept Comp Engn, Rafsanjan 77181, Iran
来源
IEEE ACCESS | 2021年 / 9卷
基金
爱尔兰科学基金会;
关键词
Tools; !text type='Java']Java[!/text; Software; C plus plus languages; Measurement; Unified modeling language; Software algorithms; Refactoring; refactoring detection; alignment algorithm; empirical studies; C plus plus; CODE;
D O I
10.1109/ACCESS.2021.3086689
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Refactoring is performed to improve software quality while leaving the behaviour of the software unchanged. Identifying refactorings applied to a software system is an important activity that leads to a better understanding of the evolution of the software system, and several techniques have been proposed and implemented to address this issue. The vast majority of existing refactoring detection techniques are language-specific, including the accepted state of the art, RMiner, which is exclusively Java-based. Although impressive performance has been achieved to date, there is scope for improvement in refactoring detection and such improvement would enhance both refactoring research and practice. In this paper, we propose a novel, language-neutral technique to identify refactorings in commit histories. Our approach is motivated by a desire to explore the use of string alignment algorithms in refactoring detection, and to determine if such approaches are competitive with the state of the art. The proposed approach has been implemented in a tool called RefDetect, evaluated, and compared with the current state-of-the-art refactoring detection tool: RMiner. In experiments we applied RefDetect to 514 commits of 185 Java applications containing 5,058 true refactoring instances, achieving an f-score slightly better than that achieved by RMiner (87.3% vs. 86%). RefDetect clearly outperformed RMiner in method and class based refactorings, achieving f-scores respectively of 87.7% vs. 81.7% for method-level refactorings and 92.1% vs. 86.9% for class-level refactorings. To demonstrate the language-independence of RefDetect, we conducted a further study with four C++ applications, achieving high values for both precision (96.1%) and recall (94.1%). The achieved results indicate that RefDetect performs better than the current state of the art in refactoring detection and is demonstrably capable of handling different programming languages.
引用
收藏
页码:86698 / 86727
页数:30
相关论文
共 50 条
  • [1] RefDiff 2.0: A Multi-Language Refactoring Detection Tool
    Silva, Danilo
    da Silva, Joao Paulo
    Santos, Gustavo
    Terra, Ricardo
    Valente, Marco Tulio
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (12) : 2786 - 2802
  • [2] HURDLES IN MULTI-LANGUAGE REFACTORING OF HIBERNATE APPLICATIONS
    Schink, Hagen
    Kuhlemann, Martin
    Saake, Gunter
    Laemmel, Ralf
    ICSOFT 2011: PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON SOFTWARE AND DATABASE TECHNOLOGIES, VOL 2, 2011, : 129 - 134
  • [3] A tool for understanding multi-language program dependencies
    Linos, PK
    Chen, ZH
    Berrier, S
    O'Rourke, B
    IWPC 2003: 11TH IEEE INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, 2003, : 64 - 72
  • [4] AST-based Multi-language Plagiarism Detection Method
    Zhang, Li Ping
    Liu, Dong Sheng
    PROCEEDINGS OF 2013 IEEE 4TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2012, : 738 - 742
  • [5] sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases
    Schink, Hagen
    2013 IEEE 13TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2013, : 173 - 178
  • [6] BBQE: Multi-language String Search Approach for Blackberry Environment
    Mantoro, Teddy
    Ayu, Media A.
    Macic, Merdin
    INFORMATICS ENGINEERING AND INFORMATION SCIENCE, PT II, 2011, 252 : 349 - 359
  • [7] MERLIN: Multi-Language Web Vulnerability Detection
    Figueiredo, Alexandra
    Lide, Tatjana
    Matos, David
    Correia, Miguel
    2020 IEEE 19TH INTERNATIONAL SYMPOSIUM ON NETWORK COMPUTING AND APPLICATIONS (NCA), 2020,
  • [8] MERLIN: Multi-Language Web Vulnerability Detection
    Figueiredo, Alexandra
    Lide, Tatjana
    Matos, David
    Correia, Miguel
    2020 IEEE 19th International Symposium on Network Computing and Applications, NCA 2020, 2020,
  • [9] Multi-language Webshell Detection based on Abstract Syntax Tree and TreeLSTM
    Shang, Mengchuan
    Han, Xueying
    Zhao, Changzhi
    Cui, Zelin
    Du, Dan
    Jiang, Bo
    PROCEEDINGS OF THE 2024 27 TH INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN, CSCWD 2024, 2024, : 377 - 382
  • [10] An Extensible, Regular-Expression-Based Tool for Multi-Language Mutant Generation
    Groce, Alex
    Holmes, Josie
    Marinov, Darko
    Shi, August
    Zhang, Lingming
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 25 - 28