Report on a workshop on software change and evolution
This paper provides a brief overview and report on the main out-comes of the software change and evolution (SCE99) workshop held in Los Angeles on May 17, 1999, as part of the International Conference on Software Engineering 1999.The purpose of the ...
Relational programs
The objective of this research is to produce useful, low-cost methods for developing correct concurrent programs from formal specifications. In particular, we address the design and verification of the synchronization and communication portions of such ...
A fully capable bidirectional debugger
The goal of this research project is to develop a bidirectional program debugger with which one can move as easily backwards as current debuggers move forward. We believe this will be a vastly more useful debugger. A programmer will be able to start at ...
Specification formalisms for component-based concurrent systems
This project builds on my ongoing research into design formalisms for, and the automatic verification of, concurrent systems. The difficulties such systems pose for system engineers are well-known and result in large part from the the complexities of ...
Adapting programming languages technologies for finite-state verification
Program verification and program transformation are two research areas that have different goals. Program verification aims to increase confidence in software through the use of formal methods and systematic testing. Program transformation rearranges ...
Components and program analyses
Model checking has been applied quite successfully to hardware verification and shows promise for software verification. The key obstacle is the well-known state explosion problem. This report describes work done by the investigator under NSF support, ...
Assessing and enhancing software testing effectiveness
Although many techniques for testing software have been proposed over the last twenty years, there is still not enough solid evidence to indicate which (if any) of these techniques are effective. It is difficult to perform meaningful comparisons of the ...
Hidden algebra and concurrent distributed software
Cleverly designed software often fails to strictly satisfy its specifications, but instead satisfies them behaviorally, in the sense that they appear to be true under all possible experiments. Hidden algebra extends prior work on abstract data types and ...