2009 IEEE/ACM International Conference on Automated Software Engineering 2009
DOI: 10.1109/ase.2009.17
|View full text |Cite
|
Sign up to set email alerts
|

ReAssert: Suggesting Repairs for Broken Unit Tests

Abstract: Abstract-Developers often change software in ways that cause tests to fail. When this occurs, developers must determine whether failures are caused by errors in the code under test or in the test code itself. In the latter case, developers must repair failing tests or remove them from the test suite. Reparing tests is time consuming but beneficial, since removing tests reduces a test suite's ability to detect regressions. Fortunately, simple program transformations can repair many failing tests automatically.W… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
83
0
1

Year Published

2011
2011
2020
2020

Publication Types

Select...
6

Relationship

1
5

Authors

Journals

citations
Cited by 89 publications
(84 citation statements)
references
References 47 publications
0
83
0
1
Order By: Relevance
“…Another observation is that every participant has some failing tests, whose fix requires changing them. Hence, a tool like ReAssert [9] could have benefited all of the participants, potentially helping to fix more than one third of all failing tests. Nevertheless, only a designated study would show how much of the required changes to the failing tests could be automated by ReAssert.…”
Section: How Frequently Do Developers Fix Failing Tests By Changing Tmentioning
confidence: 99%
See 2 more Smart Citations
“…Another observation is that every participant has some failing tests, whose fix requires changing them. Hence, a tool like ReAssert [9] could have benefited all of the participants, potentially helping to fix more than one third of all failing tests. Nevertheless, only a designated study would show how much of the required changes to the failing tests could be automated by ReAssert.…”
Section: How Frequently Do Developers Fix Failing Tests By Changing Tmentioning
confidence: 99%
“…A test that fails due to the new functionality is considered broken since making it a passing test requires fixing the test itself rather than the application under test. Developers either have to fix the broken tests manually or use recent tools that can fix them automatically [8,9,36]. Figure 6 presents a unit test of a parser.…”
Section: How Frequently Do Developers Fix Failing Tests By Changing Tmentioning
confidence: 99%
See 1 more Smart Citation
“…As these existing tests are developed for the old version of the software, when some of them cause failures of the new version in regression testing, the failures may not be due to bugs introduced in the modifications [36,8]. That is to say, some failures are due to bugs in the modified source code under test, but other failures are due to the obsoleteness 3 of some tests.…”
Section: Introductionmentioning
confidence: 99%
“…Furthermore, if developers take obsolete tests as bugs in the software, they may submit some false bug reports and thus incur extra burdens for bug-report processing (e.g., triaging [54] regression testing process but also can help reduce the cost of code modification to fix bugs or repair tests. If the failure is due to a bug, developers can use automated techniques (e.g., [52,56]) to decrease the cost of debugging in the product code; if the failure is due to an obsolete test, developers can also use automated techniques (e.g., [6][7][8]) to decrease the cost of test repair in the test code. It should be noted that techniques for automated debugging typically assume tests to be correct and focus on the product code to fix bugs.…”
Section: Introductionmentioning
confidence: 99%