2003•Unpublished venueRequires access

Improving test suites via operational abstraction

Michael P. F. Harder, Jeff Mellen, Michael D. Ernst

Open publisher page 164 citations

Abstract

This paper presents the operational difference technique for generating, augmenting, and minimizing test suites. The technique is analogous to structural code coverage tech-niques, but it operates in the semantic domain of program properties rather than the syntactic domain of program text. The operational difference technique automatically se-lects test cases; it assumes only the existence of a source of test cases. The technique dynamically generates opera-tional abstractions (which describe observed behavior and are syntactically identical to formal specifications)from test suite executions. Test suites can be generated by adding cases until the operational bstraction stops changing. The resulting test suites are as small, and detect as many faults, as suites with 100 % branch coverage, and are better at de-tecting certain common faults. This paper also presents the area and stacking tech-niques for comparing test suite generation strategies; these techniques avoid bias due to test suite size. 1

About this research paper

What this paper is about

This paper presents the operational difference technique for generating, augmenting, and minimizing test suites. The technique is analogous to structural code coverage tech-niques, but it operates in the semantic domain of program properties rather than the syntactic domain of program text. The operational difference technique automatically se-lects test cases; it assumes only the existence of a source of test cases. The technique dynamically generates opera-tional abstractions (which describe observed behavior and are syntactically identical to formal specifications)from test suite executions. Test suites can be generated by adding cases until the operational bstraction stops changing. The resulting test suites are as small, and detect as many faults, as suites with 100 % branch coverage, and are better at de-tecting certain common faults. This paper also presents the area and stacking tech-niques for comparing test suite generation strategies; these techniques avoid bias due to test suite size. 1

Why it matters

OpenAlex reports 164 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

This paper presents the operational difference technique for generating, augmenting, and minimizing test suites. The technique is analogous to structural code coverage tech-niques, but it operates in the semantic domain of program properties rather than the syntactic domain of program text. The operational difference technique automatically se-lects test cases; it assumes only the existence of a source of test cases. The technique dynamically generates opera-tional abstractions (which describe observed behavior and are syntactically identical to formal specifications)from test suite executions. Test suites can be generated by adding cases until the operational bstraction stops changing. The resulting test suites are as small, and detect as many faults, as suites with 100 % branch coverage, and are better at de-tecting certain common faults. This paper also presents the area and stacking tech-niques for comparing test suite generation strategies; these techniques avoid bias due to test suite size. 1

Key concepts: Test suite, Computer science, Abstraction, Test case, Code coverage, Domain (mathematical analysis), Programming language, Test (biology)

Related papers

Back to paper searchBrowse research topicsOriginal source
Improving test suites via operational abstraction — Research Paper | ScholarLens