Highlight Test Code: Visualizing the Co-Evolution of Test and Production Code in Software Repositories

  • Charles Miranda UFPI
  • Guilherme Avelino UFPI
  • Pedro Santos Neto UFPI

Abstract


The asynchronous evolution of test and production code can compromise software quality and maintainability. However, identifying and analyzing such co-evolution dynamics remains a complex task, often hindered by the lack of scalable tools and comprehensive visualizations. This paper presents Highlight Test Code, a web-based platform for analyzing the co-evolution of test and production code in open-source repositories. The platform implements a multi-stage pipeline encompassing repository mining, time series generation, clustering, and statistical correlation. It is built upon a curated dataset of 526 GitHub repositories across six programming languages. Highlight Test Code offers visual analytics and AI-generated insights that assist users in identifying test evolution patterns, evaluating co-evolution levels, and understanding their relationship with maintenance activities and project characteristics. The tool enables researchers and practitioners to assess testing practices at scale. Video link: https://youtu.be/U29eEg_gXXM. Software License: General Public License (GPL).

Keywords: Test code co-evolution, software testing, software repository mining

References

Idan Amit and Dror G. Feitelson. 2020. The Corrective Commit Probability Code Quality Metric. arXiv:2007.10912 [cs.SE]

Hudson Silva Borges. 2018. Characterizing and predicting the popularity of github projects. (2018).

Otávio Cury, Guilherme Avelino, Pedro Santos Neto, Marco Túlio Valente, and Ricardo Britto. 2024. Source code expert identification: Models and application. Information and Software Technology (2024), 107445.

Otávio Cury, Guilherme Avelino, Pedro Santos Neto, Ricardo Britto, and Marco Túlio Valente. 2022. Identifying source code file experts. In Proceedings of the 16th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. 125–136.

Marcio Delamaro, Mario Jino, and Jose Maldonado. 2013. Introdução ao teste de software. Elsevier Brasil.

Barrett Ens, Daniel Rea, Roiy Shpaner, Hadi Hemmati, James E Young, and Pourang Irani. 2014. Chronotwigger: A visual analytics tool for understanding source and test co-evolution. In 2014 Second IEEE Working Conference on Software Visualization. IEEE, 117–126.

Danielle Gonzalez, Joanna CS Santos, Andrew Popovich, Mehdi Mirakhorli, and Mei Nagappan. 2017. A large-scale study on the usage of testing patterns that address maintainability attributes: patterns for ease of modification, diagnoses, and comprehension. In 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR). IEEE, 391–401.

Xing Hu, Zhuang Liu, Xin Xia, Zhongxin Liu, Tongtong Xu, and Xiaohu Yang. 2023. Identify and Update Test Cases When Production Code Changes: A Transformer-Based Approach. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 1111–1122.

Sunghun Kim, Thomas Zimmermann, E James Whitehead Jr, and Andreas Zeller. 2007. Predicting faults from cached history. In 29th International Conference on Software Engineering (ICSE’07). IEEE, 489–498.

MM Lehman and FN Parr. 1976. Program evolution and its impact on software engineering. In Proceedings of the 2nd international conference on Software engineering. 350–357.

Meir M Lehman. 1979. On understanding laws, evolution, and conservation in the large-program life cycle. Journal of Systems and Software 1 (1979), 213–221.

Stanislav Levin and Amiram Yehudai. 2017. The co-evolution of test maintenance and code maintenance through the lens of fine-grained semantic changes. In 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 35–46.

Cosmin Marsavina, Daniele Romano, and Andy Zaidman. 2014. Studying finegrained co-evolution patterns of production and test code. In 2014 IEEE 14th InternationalWorking Conference on Source Code Analysis and Manipulation. IEEE, 195–204.

Daniel A Menasce and Virgilio Almeida. 2001. Capacity Planning forWeb Services: metrics, models, and methods. Prentice Hall PTR.

Tom Mens, Michel Wermelinger, Stéphane Ducasse, Serge Demeyer, Robert Hirschfeld, and Mehdi Jazayeri. 2005. Challenges in software evolution. In Eighth International Workshop on Principles of Software Evolution (IWPSE’05). IEEE, 13–22.

Charles Miranda, Guilherme Avelino, and Pedro Santos Neto. 2025. Test Co-Evolution in Software Projects: A Large-Scale Empirical Study. Journal of Software: Evolution and Process 37, 7 (2025), e70035.

Glenford J Myers, Tom Badgett, Todd M Thomas, and Corey Sandler. 2004. The art of software testing. Vol. 2. Wiley Online Library.

John Paparrizos and Luis Gravano. 2015. k-shape: Efficient and accurate clustering of time series. In Proceedings of the 2015 ACM SIGMOD international conference on management of data. 1855–1870.

Foyzur Rahman, Daryl Posnett, Abram Hindle, Earl Barr, and Premkumar Devanbu. 2011. BugCache for inspections: hit or miss?. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering. 322–331.

Joanderson Gonçalves Santos and Rita Suzana Pitangueira Maciel. 2024. AutomTest 3.0: An automated test-case generation tool from User Story processing powered with LLMs. In Simpósio Brasileiro de Engenharia de Software (SBES). SBC, 769–774.

Samiha Shimmi and Mona Rahimi. 2022. Leveraging code-test co-evolution patterns for automated test case recommendation. In Proceedings of the 3rd ACM/IEEE International Conference on Automation of Software Test. 65–76.

Samiha Shimmi and Mona Rahimi. 2022. Patterns of Code-to-Test Co-evolution for Automated Test Suite Maintenance. In 2022 IEEE Conference on Software Testing, Verification and Validation (ICST). IEEE, 116–127.

Ian Sommerville. 2011. Software engineering 9th Edition. ISBN-10 137035152 (2011), 18.

Weifeng Sun, Meng Yan, Zhongxin Liu, Xin Xia, Yan Lei, and David Lo. 2023. Revisiting the Identification of the Co-evolution of Production and Test Code. ACM Transactions on Software Engineering and Methodology 32, 6 (2023), 1–37.

Tiago Samuel Rodrigues Teixeira, Fábio Fagundes Silveira, and Eduardo Martins Guerra. 2024. METEOR: A Tool for Monitoring Behavior Preservation in Test Code Refactorings. In Simpósio Brasileiro de Engenharia de Software (SBES). SBC, 755–761.

László Vidács and Martin Pinzger. 2018. Co-evolution analysis of production and test code by learning association rules of changes. In 2018 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE). IEEE, 31–36.

Ali Görkem Yalçın and Tugkan Tuglular. [n. d.]. Visualization of Source Code and Acceptance Test Co-evolution. ( [n. d.]).

Andy Zaidman, Bart Van Rompaey, Arie van Deursen, and Serge Demeyer. 2011. Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining. Empirical Software Engineering 16, 3 (2011), 325–364.
Published
2025-09-22
MIRANDA, Charles; AVELINO, Guilherme; SANTOS NETO, Pedro. Highlight Test Code: Visualizing the Co-Evolution of Test and Production Code in Software Repositories. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 39. , 2025, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 893-899. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2025.11072.