Enhancing Genetic Improvement of Software with Regression Test Selection

被引:8
|
作者
Guizzo, Giovani [1 ]
Petke, Justyna [1 ]
Sarro, Federica [1 ]
Harman, Mark [1 ,2 ]
机构
[1] Univ Coll London UCL, Dept Comp Sci, London, England
[2] Facebook, London, England
基金
英国工程与自然科学研究理事会;
关键词
Genetic Improvement; Regression Test Selection; Search Based Software Engineering; Genetic Programming; REPAIR;
D O I
10.1109/ICSE43902.2021.00120
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Genetic improvement uses artificial intelligence to automatically improve software with respect to non-functional properties (AI for SE). In this paper, we propose the use of existing software engineering best practice to enhance Genetic Improvement (SE for AI). We conjecture that existing Regression Test Selection (RTS) techniques (which have been proven to be efficient and effective) can and should be used as a core component of the GI search process for maximising its effectiveness. To assess our idea, we have carried out a thorough empirical study assessing the use of both dynamic and static RTS techniques with GI to improve seven real-world software programs. The results of our empirical evaluation show that incorporation of RTS within GI significantly speeds up the whole GI process, making it up to 68% faster on our benchmark set, being still able to produce valid software improvements. Our findings are significant in that they can save hours to days of computational time, and can facilitate the uptake of GI in an industrial setting, by significantly reducing the time for the developer to receive feedback from such an automated technique. Therefore, we recommend the use of RTS in future test-based automated software improvement work. Finally, we hope this successful application of SE for AI will encourage other researchers to investigate further applications in this area.
引用
下载
收藏
页码:1323 / 1333
页数:11
相关论文
共 50 条
  • [1] Artifact for Enhancing Genetic Improvement of Software with Regression Test Selection
    Guizzo, Giovani
    Petke, Justyna
    Sarro, Federica
    Harman, Mark
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 220 - 220
  • [2] Regression test selection for Java software
    College of Computing, Georgia Institute of Technology, Atlanta
    GA, United States
    不详
    FL, United States
    ACM SIGPLAN Not., 11 (312-326):
  • [3] Regression test selection for AspectJ software
    Xu, Guoqing
    Rountev, Atanas
    ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 65 - +
  • [4] A Regression Test Selection Technique for Embedded Software
    Biswas, Swarnendu
    Mall, Rajib
    Satpathy, Manoranjan
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2013, 13 (03)
  • [5] Regression test selection for C++ software
    Rothermel, G
    Harrold, MJ
    Dedhia, J
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2000, 10 (02): : 77 - 109
  • [6] Regression test selection for C++ software
    Rothermel, Gregg
    Harrold, Mary Jean
    Dedhia, Jeinay
    Software Testing Verification and Reliability, 2000, 10 (02) : 77 - 109
  • [7] Regression test selection for Java']Java software
    Harrold, MJ
    Jones, JA
    Li, TY
    Liang, DL
    Orso, A
    Pennings, M
    Sinha, S
    Spoon, SA
    Gujarathi, A
    ACM SIGPLAN NOTICES, 2001, 36 (11) : 312 - 326
  • [8] Regression Test Selection for Distributed Software Histories
    Gligoric, Milos
    Majumdar, Rupak
    Sharma, Rohan
    Eloussi, Lamyaa
    Marinov, Darko
    COMPUTER AIDED VERIFICATION, CAV 2014, 2014, 8559 : 293 - 309
  • [9] Performance Improvement Model of Regression Test Selection
    Wongwuttiwat, Jittima
    Lawanna, Adtha
    2017 2ND INTERNATIONAL CONFERENCE ON INTELLIGENT INFORMATICS AND BIOMEDICAL SCIENCES (ICIIBMS), 2017, : 49 - 53
  • [10] An Effective Test Case Selection for Software Testing Improvement
    Lawanna, Adtha
    2015 INTERNATIONAL COMPUTER SCIENCE AND ENGINEERING CONFERENCE (ICSEC), 2015, : 319 - 324