2015 · 11 citations · 13 references
ComputingComputer EngineeringComputer ScienceFormal MethodsSoftware EngineeringTest DevelopmentDesign For TestabilityDomain-specific LanguagesSoftware TestingSpecification LanguagesTest SpecificationTestbenchesCode CoverageDebuggingDeclarative SemanticsHarness TestingSpecification-based TestingTest AutomationTest GenerationTestability Engineering
Writing a test harness is a difficult and repetitive program- ming task, and the lack of tool support for customized auto- mated testing is an obstacle to the adoption of more sophis- ticated testing in industry. This paper presents TSTL, the Template Scripting Testing Language, which allows users to specify the general form of valid tests for a system in a simple but expressive language, and tools to support testing based on a TSTL definition. TSTL is a minimalist template- based domain-specific language, using the source language of the Software Under Test (SUT) to support most operations, but adding declarative idioms for testing. TSTL compiles to a common testing interface that hides the details of the SUT and provides support for logging, code coverage, delta debugging, and other core testing functionality, making it easy to write universal testing tools such as random testers or model checkers that apply to all TSTL-defined harnesses. TSTL is currently available for Python, but easily adapted to other languages as well.
13
Willem Visser, Klaus Havelund, Guillaume Brat et al. · Automated Software Engineering · 2003 · 1.4K citations
Finding and understanding bugs in C compilers
Xuejun Yang, Yang Chen, Eric Eide et al. · 2011 · 733 citations
Finding and understanding bugs in C compilers
Xuejun Yang, Yang Chen, Eric Eide et al. · ACM SIGPLAN Notices · 2011 · 586 citations
Differential Testing for Software.
W. M. McKeeman · 1998 · 454 citations