TY - GEN
T1 - Tool-assisted unit test selection based on operational violations
AU - Xie, Tao
AU - Notkin, David
N1 - Publisher Copyright:
© 2003 IEEE
PY - 2003
Y1 - 2003
N2 - Unit testing, a common step in software development, presents a challenge. When produced manually, unit test suites are often insufficient to identify defects. The main alternative is to use one of a variety of automatic unit test generation tools: these are able to produce and execute a large number of test inputs that extensively exercise the unit under test. However, without a priori specifications, developers need to manually verify the outputs of these test executions, which is generally impractical. To reduce this cost, unit test selection techniques may be used to help select a subset of automatically generated test inputs. Then developers can verify their outputs, equip them with test oracles, and put them into the existing test suite. In this paper, we present the operational violation approach for unit test selection, a black-box approach without requiring a priori specifications. The approach dynamically generates operational abstractions from executions of the existing unit test suite. Any automatically generated tests violating the operational abstractions are identified as candidates for selection. In addition, these operational abstractions can guide test generation tools to produce better tests. To experiment with this approach, we integrated the use of Daikon (a dynamic invariant detection tool) and Jtest (a commercial Java unit testing tool). An experiment is conducted to assess this approach.
AB - Unit testing, a common step in software development, presents a challenge. When produced manually, unit test suites are often insufficient to identify defects. The main alternative is to use one of a variety of automatic unit test generation tools: these are able to produce and execute a large number of test inputs that extensively exercise the unit under test. However, without a priori specifications, developers need to manually verify the outputs of these test executions, which is generally impractical. To reduce this cost, unit test selection techniques may be used to help select a subset of automatically generated test inputs. Then developers can verify their outputs, equip them with test oracles, and put them into the existing test suite. In this paper, we present the operational violation approach for unit test selection, a black-box approach without requiring a priori specifications. The approach dynamically generates operational abstractions from executions of the existing unit test suite. Any automatically generated tests violating the operational abstractions are identified as candidates for selection. In addition, these operational abstractions can guide test generation tools to produce better tests. To experiment with this approach, we integrated the use of Daikon (a dynamic invariant detection tool) and Jtest (a commercial Java unit testing tool). An experiment is conducted to assess this approach.
UR - http://www.scopus.com/inward/record.url?scp=85117374664&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85117374664&partnerID=8YFLogxK
U2 - 10.1109/ASE.2003.1240293
DO - 10.1109/ASE.2003.1240293
M3 - Conference contribution
AN - SCOPUS:85117374664
T3 - Proceedings - 18th IEEE International Conference on Automated Software Engineering, ASE 2003
SP - 40
EP - 48
BT - Proceedings - 18th IEEE International Conference on Automated Software Engineering, ASE 2003
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 18th IEEE International Conference on Automated Software Engineering, ASE 2003
Y2 - 6 October 2003 through 10 October 2003
ER -