University of Minnesota
Software Engineering Center

You are here

Critical Systems Research Group

The Critical Systems Research Group’s (CriSys) research interests are in the general area of software engineering; in particular, software development for critical software applications — applications where incorrect operation of the software could lead to loss of life, substantial material or environmental damage, or large monetary losses. The long-term goal of our research activities is the development of a comprehensive framework for the development of software for critical software systems. Our work has focused on some of the most difficult and least understood aspects of software development—requirements specification and validation/verification.

Recent Publications

Integrative Analysis ofState-Based Requirements

Statically analyzing requirements specifications to assure that they possess desirable properties is an important activity in any rigorous software development project. The analysis is performed on an abstraction of the original requirements specification. Abstractions in the model may lead to spurious errors in the analysis output. Spurious errors are conditions that are reported as errors, but information abstracted out of the model precludes the reported conditions from being satisfied.

On the Effectiveness of Slicing Hierarchical State Machines: A Case Study

Formal specifications can be hundreds of pages in length — a reflection of the size and complexity of the systems being specified. Lengthy documents are difficult to read, understand, and use. Program slicing was developed to address these issues for programs. In this paper, we apply similar techniques to formal specifications expressed as hierarchical state machines. We present a two tiered approach to slicing (or simpli.cation) of hierarchical state machines.

Reduction and Slicing of Hierarchical State Machines

Formal specification languages are often criticized for being difficult to understand, difficult to use, and unacceptable by software practitioners. Notations based on state machines, such as, Statecharts,