Checkpointing and replaying is an attractive technique that has been used widely at the operating/runtime system level to provide fault tolerance. Applying such a technique at the...
The relationships between objects in object-oriented programs are as important as the objects themselves. Unfortunately, most objectoriented programming languages provide little s...
Testing of software components during development is a heavily used approach to detect programming errors and to evaluate the quality of software. Systematic approaches to softwar...
Model checking is emerging as a popular technology for reasoning about behavioral properties of a wide variety of software artifacts including: requirements models, architectural ...
Debugging refers to the laborious process of finding causes of program failures. Often, such failures are introduced when a program undergoes changes and evolves from a stable ver...