2017 IEEE International Conference on Software Maintenance and Evolution (ICSME) 2017
DOI: 10.1109/icsme.2017.9
|View full text |Cite
|
Sign up to set email alerts
|

The Co-evolution of Test Maintenance and Code Maintenance through the Lens of Fine-Grained Semantic Changes

Abstract: Abstract-Automatic testing is a widely adopted technique for improving software quality. Software developers add, remove and update test methods and test classes as part of the software development process as well as during the evolution phase, following the initial release. In this work we conduct a large scale study of 61 popular open source projects and report the relationships we have established between test maintenance, production code maintenance, and semantic changes (e.g, statement added, method remov… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
29
0
2

Year Published

2019
2019
2024
2024

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 25 publications
(32 citation statements)
references
References 39 publications
1
29
0
2
Order By: Relevance
“…Our analytical layer has been successfully used to conduct a number of studies in the field of software evolution and maintenance [6][7][8]. In the course of these studies it has processed dozens of millions of records.…”
Section: Discussionmentioning
confidence: 99%
See 3 more Smart Citations
“…Our analytical layer has been successfully used to conduct a number of studies in the field of software evolution and maintenance [6][7][8]. In the course of these studies it has processed dozens of millions of records.…”
Section: Discussionmentioning
confidence: 99%
“…In the course of our studies [6][7][8], the data processing stage typically included the following aggregations: commit level; developer level; project level; global statistics. The analytical layer we present allows researchers to produce commit level aggregations (see Listing 5) and obtain statistics such as: change type frequencies, number of test case (test method) addition/removal/modification, number of test suite (test class) addition/removal/modification, associated ticket id, number of test files, and non test files in a given commit.…”
Section: Obtaining Fine Grained Source Code Changesmentioning
confidence: 99%
See 2 more Smart Citations
“…For Apache Maven build files, we search for pom.xml; for Apache Ant files, we look for build.xml; finally, for Graddle files, we search for build.graddle. Regarding changes on test files, we adapt an heuristic adopted by previous works [16,17]. We classify a change as a test change if the name of the class begins with the word "Test" or ends with the word "Test", or "Tests", or "TestCase".…”
Section: Mining Frequent Code Changes and Association Rulesmentioning
confidence: 99%