CUTE and jCUTE: Concolic Unit Testing and Explicit Path Model-Checking Tools

  title={CUTE and jCUTE: Concolic Unit Testing and Explicit Path Model-Checking Tools},
  author={Koushik Sen and Gul A. Agha},
Abstract : CUTE, a Concolic Unit Testing Engine for C and Java, is a tool to systematically and automatically test sequential C programs (including pointers) and concurrent Java programs. [...] Key Method The tool also introduces a race-flipping technique to efficiently test and model check concurrent programs with data inputs.Expand
LCT: An Open Source Concolic Testing Tool for Java Programs
The architecture behind LCT is described and it is demonstrated through benchmarks how the distributed nature of the tool makes testing more scalable. Expand
From Symbolic Execution to Concolic Testing
The procedure of symbolic execution is summarized and concolic testing and execution generated testing are presented, both are modern approaches to solve the runtime problem by mixing symbolic execution with concrete execution. Expand
From Symbolic Execution to Concolic Testing
Creating software tests with high coverage can be quite challenging. One technique to automatically do so is symbolic execution. At first I will summarize and explain the procedure of symbolicExpand
Perspectives on White-Box Testing: Coverage, Concurrency, and Concolic Execution
In the FQL project, a test specification language is devised which facilitates precise specification of coverage criteria, and a separation of concerns between test specification and test case generation, and in con2colic testing, a concolic testing methodology for concurrent programs where progress is measured in terms of the data flow between program threads. Expand
Grey-Box Testing and Verification of Java/JML
  • Frédéric Dadeau, F. Peureux
  • Computer Science
  • 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops
  • 2011
We present in this paper the application of constraint solving techniques to the validation and automated test cases generation for Java programs, annotated with JML specifications. The Java/JML codeExpand
ExpliSAT: Guiding SAT-Based Software Verification with Explicit States
We present a hybrid method for software model checking that combines explicit-state and symbolic techniques. Our method traverses the control flow graph of the program explicitly, and encodes theExpand
A Methodology for Applying Concolic Testing
Concolic testing is a technique that combines concrete and symbolic execution in order to generate inputs that explore different execution paths leading to better testing coverage. Concolic testingExpand
Concolic Testing of Functional Logic Programs
In the last years, concolic testing, a technique combining concrete and symbolic execution for the automated generation of test cases, has gained increasing popularity. Concolic testing tools areExpand
Combining Model Checking and Testing
This chapter presents an overview of this strand of software model checking, which involves adapting model checking into a form of systematic testing that is applicable to industrial-size software. Expand
Grey-box Testing and Verification of Java/JML
We present in this paper the application of con- straint solving techniques to the validation and automated test cases generation for Java programs, annotated with JML specifications. The Java/JMLExpand


CUTE: a concolic unit testing engine for C
A method to represent and track constraints that capture the behavior of a symbolic execution of a unit with memory graphs as inputs is developed and an efficient constraint solver is proposed to facilitate incremental generation of such test inputs. Expand
Concolic Testing of Multithreaded Programs and Its Application to Testing Security Protocols
This work proposes a novel testing algorithm for concurrent programs in which the goal is not only to execute all reachable statements of a program, but to detect all possible data races, and deadlock states. Expand
Automated Systematic Testing of Open Distributed Programs
An algorithm for automatic testing of distributed programs, such as Unix processes with inter-process communication, Web services, etc, which uses simultaneous concrete and symbolic execution, or concolic execution, to explore all distinct behaviors that may result from a program's execution given different data inputs and schedules. Expand
Symbolic execution and program testing
A particular system called EFFIGY which provides symbolic execution for program testing and debugging is described, which interpretively executes programs written in a simple PL/I style programming language. Expand
DART: directed automated random testing
DART is a new tool for automatically testing software that combines three main techniques, automated extraction of the interface of a program with its external environment using static source-code parsing, and dynamic analysis of how the program behaves under random testing and automatic generation of new test inputs to direct systematically the execution along alternative program paths. Expand
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
The structure of CIL is described, with a focus on how it disambiguates those features of C that were found to be most confusing for program analysis and transformation, allowing a complete project to be viewed as a single compilation unit. Expand
lp solve. solve
  • lp solve. solve