2014 · 16 citations · 25 references
ComputingComputer EngineeringComputer ScienceAlgorithmsFormal MethodsProgramming LanguagesDesign For TestabilitySoftware TestingTest SpecificationAutomated Test GenerationDeclarative SemanticsInvariant GenerationInvariant SynthesisInvariant VerificationInvariantsTest GenerationTest Suite Generation
We present a novel technique for producing bounded exhaustive test suites from hybrid invariants, i.e., invariants that are expressed imperatively, declaratively, or as a combination of declarative and imperative predicates. Hybrid specifications are processed using known mechanisms for the imperative and declarative parts, but combined in a way that enables us to exploit information from the declarative side, such as tight bounds computed from the declarative specification, to improve the search both on the imperative and declarative sides. Moreover, our technique automatically evaluates different possible ways of processing the imperative side, and the alternative settings (imperative or declarative) for parts of the invariant available both declaratively and imperatively, to decide the most convenient invariant configuration with respect to efficiency in test generation. This is achieved by transcoping, i.e., by assessing the efficiency of the different alternatives on small scopes (where generation times are negligible), and then extrapolating the results to larger scopes.
25
Gerard J. Holzmann · IEEE Transactions on Software Engineering · 1997 · 3.8K citations
Software abstractions: logic, language and analysis
Choice Reviews Online · 2007 · 1.5K citations
Koen Claessen, John Hughes · ACM SIGPLAN Notices · 2011 · 1K citations
Koen Claessen, John Hughes · 2000 · 714 citations