Generating structurally complex tests from declarative constraints

Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, February 2004. === Includes bibliographical references (leaves 119-126). === This dissertation describes a method for systematic constraint-based test generation for programs that take as in...

Full description

Bibliographic Details
Main Author: Khurshid, Sarfraz, 1972-
Other Authors: Daniel Jackson.
Format: Others
Language:English
Published: Massachusetts Institute of Technology 2006
Subjects:
Online Access:http://hdl.handle.net/1721.1/30083
id ndltd-MIT-oai-dspace.mit.edu-1721.1-30083
record_format oai_dc
spelling ndltd-MIT-oai-dspace.mit.edu-1721.1-300832019-05-02T16:30:10Z Generating structurally complex tests from declarative constraints Constraint-based generation of structurally complex tests Khurshid, Sarfraz, 1972- Daniel Jackson. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, February 2004. Includes bibliographical references (leaves 119-126). This dissertation describes a method for systematic constraint-based test generation for programs that take as inputs structurally complex data, presents an automated SAT-based framework for testing such programs, and provides evidence on the feasibility of using this approach to generate high quality test suites and find bugs in non-trivial programs. The framework tests a program systematically on all nonisomorphic inputs (within a given bound on the input size). Test inputs are automatically generated from a given input constraint that characterizes allowed program inputs. In unit testing of object-oriented programs, for example, an input constraint corresponds to the representation invariant; the test inputs are then objects on which to invoke a method under test. Input constraints may additionally describe test purposes and test selection criteria. Constraints are expressed in a simple (first-order) relational logic and solved by translating them into propositional formulas that are handed to an off-the-shelf SAT solver. Solutions found by the SAT solver are lifted back to the relational domain and reified as tests. The TestEra tool implements this framework for testing Java programs. Ex-periments on generating several complex structures indicate the feasibility of using off-the-shelf SAT solvers for systematic generation of nonisomorphic structures. The tool also uncovered previously unknown errors in several applications including an intentional naming scheme for dynamic networks and a fault-tree analysis system developed for NASA. by Sarfraz Khurshid. Ph.D. 2006-03-24T18:17:54Z 2006-03-24T18:17:54Z 2003 2004 Thesis http://hdl.handle.net/1721.1/30083 55667181 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 126 leaves 5368098 bytes 5367906 bytes application/pdf application/pdf application/pdf Massachusetts Institute of Technology
collection NDLTD
language English
format Others
sources NDLTD
topic Electrical Engineering and Computer Science.
spellingShingle Electrical Engineering and Computer Science.
Khurshid, Sarfraz, 1972-
Generating structurally complex tests from declarative constraints
description Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, February 2004. === Includes bibliographical references (leaves 119-126). === This dissertation describes a method for systematic constraint-based test generation for programs that take as inputs structurally complex data, presents an automated SAT-based framework for testing such programs, and provides evidence on the feasibility of using this approach to generate high quality test suites and find bugs in non-trivial programs. The framework tests a program systematically on all nonisomorphic inputs (within a given bound on the input size). Test inputs are automatically generated from a given input constraint that characterizes allowed program inputs. In unit testing of object-oriented programs, for example, an input constraint corresponds to the representation invariant; the test inputs are then objects on which to invoke a method under test. Input constraints may additionally describe test purposes and test selection criteria. Constraints are expressed in a simple (first-order) relational logic and solved by translating them into propositional formulas that are handed to an off-the-shelf SAT solver. Solutions found by the SAT solver are lifted back to the relational domain and reified as tests. The TestEra tool implements this framework for testing Java programs. Ex-periments on generating several complex structures indicate the feasibility of using off-the-shelf SAT solvers for systematic generation of nonisomorphic structures. The tool also uncovered previously unknown errors in several applications including an intentional naming scheme for dynamic networks and a fault-tree analysis system developed for NASA. === by Sarfraz Khurshid. === Ph.D.
author2 Daniel Jackson.
author_facet Daniel Jackson.
Khurshid, Sarfraz, 1972-
author Khurshid, Sarfraz, 1972-
author_sort Khurshid, Sarfraz, 1972-
title Generating structurally complex tests from declarative constraints
title_short Generating structurally complex tests from declarative constraints
title_full Generating structurally complex tests from declarative constraints
title_fullStr Generating structurally complex tests from declarative constraints
title_full_unstemmed Generating structurally complex tests from declarative constraints
title_sort generating structurally complex tests from declarative constraints
publisher Massachusetts Institute of Technology
publishDate 2006
url http://hdl.handle.net/1721.1/30083
work_keys_str_mv AT khurshidsarfraz1972 generatingstructurallycomplextestsfromdeclarativeconstraints
AT khurshidsarfraz1972 constraintbasedgenerationofstructurallycomplextests
_version_ 1719041801455665152