TY - GEN
T1 - Extended program invariants
T2 - 10th International Workshop on Dynamic Analysis, WODA 2012
AU - Alipour, Mohammad Amin
AU - Groce, Alex
PY - 2012
Y1 - 2012
N2 - Invariants are powerful tools for program analysis and reasoning.Several tools and techniques have been developed to infer invariants of a program. Given a test suite for a program, an invariant detection tool (IDT) extracts (potential) invariants from the program execution on test cases of the test suite. The resultant invariants contain relations only over variables and constants that are visible to the IDT. IDTs are usually unable to extract invariants about execution features like taken branches, since programs usually do not have state variables for such features. Thus, the IDT has no information about such features in order to infer relations between them. We speculate that invariants about execution features are useful for understanding test suites; we call these invariants, extended invariants. In this paper, we discuss potential applications of extended invariants in understanding of test suites, and fault localization. We illustrate the usefulness of extended invariants with some small examples that use basic block count as the execution feature in extended invariants. We believe extended invariants provide useful information about execution of programs that can be utilized in program analysis and testing.
AB - Invariants are powerful tools for program analysis and reasoning.Several tools and techniques have been developed to infer invariants of a program. Given a test suite for a program, an invariant detection tool (IDT) extracts (potential) invariants from the program execution on test cases of the test suite. The resultant invariants contain relations only over variables and constants that are visible to the IDT. IDTs are usually unable to extract invariants about execution features like taken branches, since programs usually do not have state variables for such features. Thus, the IDT has no information about such features in order to infer relations between them. We speculate that invariants about execution features are useful for understanding test suites; we call these invariants, extended invariants. In this paper, we discuss potential applications of extended invariants in understanding of test suites, and fault localization. We illustrate the usefulness of extended invariants with some small examples that use basic block count as the execution feature in extended invariants. We believe extended invariants provide useful information about execution of programs that can be utilized in program analysis and testing.
KW - Test coverage criteria
KW - fault localization
KW - test case selection
UR - http://www.scopus.com/inward/record.url?scp=84865307502&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84865307502&partnerID=8YFLogxK
U2 - 10.1145/04000801.2336799
DO - 10.1145/04000801.2336799
M3 - Conference contribution
AN - SCOPUS:84865307502
SN - 9781450314558
T3 - 10th International Workshop on Dynamic Analysis, WODA 2012 - Proceedings
SP - 7
EP - 11
BT - 10th International Workshop on Dynamic Analysis, WODA 2012 - Proceedings
Y2 - 15 July 2012 through 15 July 2012
ER -