Automated Software Testing in the Absence of Specifications

-- The Yangtse Project on Software Testing and Dynamic Behavior Inference  

    Previous research has shown that specifications can play an important role in automated software testing, either in guiding test-input generation or checking the correctness of test executions. However, specifications often do not exist in practice. The Yangtse project infers dynamic behavior (often in the form of specifications) from program executions and exploits the inferred behavior in automated software testing; therefore, some benefits of specification-based testing can be achieved without requiring developers to write specifications. The techniques and tools developed in this project targets at a massive group of developers because the inputs to the techniques or tools are simply programs (or some other software development artifacts that commonly exist in practice).
    In particular, the project addresses five important problems in testing practice: test generation, test selection, test abstraction, test oracle augmentation, and regression testing. The project addresses these problems by inferring various types of dynamic behavior from program executions. Putting all these pieces together, the project hopes to tackle these problems within a feedback loop between test generation and dynamic behavior inference (or specification inference). This project is conducted by the Automated Software Engineering Research Group led by Tao Xie at North Carolina State University, Raleigh, NC.

  How is our research work related to software industry?

The Mose Project on Mining Open Source Software Engineering Data

Released Tools:
Stabilizer  Jov  Jusc  Romant

We would like to hear from you if you are interested in collaborating with us on any idea in this project. You can contact us by sending email to .

See below for Project Description, Sub-projects, and Related Publications.


Project Description:


Related Publications: (Software Engineering Conferences) (Software Testing Researchers) Also see Tao Xie's publications.

Research Foundations Research Subareas

Sub-projects:
Straw
: Automated Test Generation for Object-Oriented Programs 
Tarim
: Testing Aspect-Oriented Programs 
Minese: Mining Software Engineering Data  
DBTest: Testing Database Applications
SEHPC: Software Engineering for High Performance Computing
SemanticSE: Semantic Software Engineering
Embest: Embedded Software Testing
Mocat: Model Checking and Testing 
Recvat: Requirements Verification, Analysis, and Testing 
Sofcute: Software Security Testing
WSTest: Automated Testing and Verification of Web Services
CSTest: Automated Testing of C# Code
Plato: Tool-Assisted Generation of Tests for Product Lines
Sabicu: Automatic Identification of Special and Common Object-Oriented Unit Tests
Jov: Java Unit Test Selection Tool Based on Operational Violations
Jusc: Java Unit Test Selection Tool Based on Residual Structural Coverage 
Romant: Java Robustness Measurement Tool 
ROSE: Real Options in Software Engineering
Other projects:
Stabilizer
Bug Tracking System: Quickly Stabilizing Buggy GUI Applications    End-User Software Engineering

Maintained by