Studying the Co-Evolution of Source Code and Acceptance Tests

被引:0
|
作者
Yalcin, Ali Gorkem [1 ]
Tuglular, Tugkan [1 ]
机构
[1] Izmir Inst Technol, Dept Comp Engn, TR-35430 Izmir, Turkiye
关键词
Software test co-evolution; mining software repositories; software metrics; software maintenance; FRAMEWORK;
D O I
10.1142/S0218194023500237
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Testing is a vital part of achieving good-quality software. Deploying untested code can cause system crashes and unexpected behavior. To reduce these problems, testing should evolve with coding. In addition, test suites should not remain static throughout the software versions. Since whenever software gets updated, new functionalities are added, or existing functionalities are changed, test suites should be updated along with the software. Software repositories contain valuable information about the software systems. Access to older versions and differentiating adjacent versions' source code and acceptance test changes can provide information about the evolution process of the software. This research proposes a method and implementation to analyze 21 open-source real-world projects hosted on GitHub regarding the co-evolution of both software and its acceptance test suites. Related projects are retrieved from repositories, their versions are analyzed, graphs are created, and analysis related to the co-evolution process is performed. Observations show that the source code is getting updated more frequently than the acceptance tests. They indicate a pattern that source code and acceptance tests do not evolve together. Moreover, the analysis showed that a few acceptance tests test most of the functionalities that take a significant line of code.
引用
收藏
页码:1011 / 1037
页数:27
相关论文
共 50 条
  • [1] Analyzing the co-evolution of comments and source code
    Fluri, Beat
    Wuersch, Michael
    Giger, Emanuel
    Gall, Harald C.
    [J]. SOFTWARE QUALITY JOURNAL, 2009, 17 (04) : 367 - 394
  • [2] Co-Evolution of Source Code and the Build System
    Adams, Bram
    [J]. 2009 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, CONFERENCE PROCEEDINGS, 2009, : 461 - 464
  • [3] Analyzing the co-evolution of comments and source code
    Beat Fluri
    Michael Würsch
    Emanuel Giger
    Harald C. Gall
    [J]. Software Quality Journal, 2009, 17 : 367 - 394
  • [4] Co-evolution of Infrastructure and Source Code - An Empirical Study
    Jiang, Yujuan
    Adams, Bram
    [J]. 12TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2015), 2015, : 45 - 55
  • [5] Patterns of Co-evolution between Requirements and Source Code
    Rahimi, Mona
    Cleland-Huang, Jane
    [J]. 2015 IEEE FIFTH INTERNATIONAL WORKSHOP ON REQUIREMENTS PATTERNS (REPA), 2015, : 25 - 31
  • [6] Towards Leveraging Tests to Identify Impacts of Metamodel and Code Co-evolution
    Kebaili, Zohra Kaouter
    Khelladi, Djamel Eddine
    Acher, Mathieu
    Barais, Olivier
    [J]. INTELLIGENT INFORMATION SYSTEMS, CAISE FORUM 2023, 2023, 477 : 129 - 137
  • [7] Studying Fine-Grained Co-Evolution Patterns of Production and Test Code
    Marsavina, Cosmin
    Romano, Daniele
    Zaidman, Andy
    [J]. 2014 14TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2014), 2014, : 195 - 204
  • [8] Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining
    Zaidman, Andy
    Van Rompaey, Bart
    van Deursen, Arie
    Demeyer, Serge
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2011, 16 (03) : 325 - 364
  • [9] Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining
    Andy Zaidman
    Bart Van Rompaey
    Arie van Deursen
    Serge Demeyer
    [J]. Empirical Software Engineering, 2011, 16 : 325 - 364
  • [10] CO-EVOLUTION THEORY OF GENETIC CODE
    WONG, JTF
    [J]. PROCEEDINGS OF THE NATIONAL ACADEMY OF SCIENCES OF THE UNITED STATES OF AMERICA, 1975, 72 (05) : 1909 - 1912