| |
About Concutest
Introduction
Concutest-JUnit
Thread Checker
Schedule-Based Execution
Using Concutest
Download
How to Run
License
Resources
Documentation
FAQ
Publications
Concutest Community Project
Give Feedback
Features, Bugs, Support
Contact Us
Developers
SourceForge Project
Developer Docs
Javadocs
Developer Blog
|
|
|
|
Testing Using Schedule-Based Execution
The testing framework using scheduled replay that we propose will perform four
new functions not provided by existing systems:
- Executing unit tests according to specific schedules recorded in files as
sequences of synchronization operations.
- Providing a tool for generating a representative set of schedules for a
particular unit test using both exhaustive and randomized methods.
- Applying the Eraser Algorithm during unit testing to confirm that shared
variables are accessed using a consistent locking protocol.
- Providing a tool to ensure that the schedule files for concurrent unit
tests remain consistent with the program code base as it evolves.
Running the Eraser Algorithm will confirm that synchronization-based replay
is deterministic and that schedules other than those tested are unlikely to generate data races.
The new framework will use custom class loaders to rewrite byte code to support schedule-based execution
and the Eraser Algorithm.
Tentatively, we will break the project into the following phases and approach
them in order:
- Detection of Synchronization Events
- Scheduled Program Replay
- Generation of Schedules
- Verification of Shared Variable Locking
- Schedule Consistency Checking
- Unit Testing of Distributed Applications
Supplemental material
- Poster (PDF): created for 2006
Corporate Affiliates Meeting at the Computer Science Department of
Rice University to summarise our efforts (view embedded).
- Poster (PDF): created for 2005
Corporate Affiliates Meeting at the Computer Science Department of
Rice University to summarise our efforts (view embedded).
- Poster (PDF): older version created for 2004
Corporate Affiliates Meeting at the Computer Science Department of
Rice University to summarise our efforts (view embedded).
- Poster Abstract (PDF): abstract for 2004
Corporate Affiliates Meeting at the Computer Science Department of
Rice University to summarise our efforts (view embedded).
- MS Defense Presentation (PowerPoint): Mathias
Ricken's presentation from his Master of Science defense, June 14, 2007.
- MS Thesis (PDF): Mathias Ricken's Master of Science thesis (view embedded)
- Presentation (PowerPoint): Mathias
Ricken's presentation for the COMP 600 seminar, August 27, 2007.
- Presentation (PowerPoint): Mathias Ricken's presentation for the Rice Computer Science Club, October 4, 2007.
- Presentation: Java Annotations for Invariant Specification (PowerPoint):
Mathias Ricken's presentation for the COMP 617 seminar, September 22, 2008.
- Presentation: Java Annotations for Types, Expressions and Multi-Stage Programming (PowerPoint):
Mathias Ricken's presentation for the COMP 617 seminar, October 24, 2008.
- Poster: Invariant Specification and Multi-Staging using Java Annotations (PDF): created for 2008
Corporate Affiliates Meeting at the Computer Science Department of
Rice University (view embedded).
- Direct access to the download directory
|