No abstract available.
Designing programs to check their work (abstract)
Designing Programs to Check Their Work Professor Manuel Blurn Department of EECS UC Berkeley and International Computer Science Institute Berkeley, California Abstract Students, engineers, programmers... are all expected to check their work. Computer ...
Specifying operational profiles for modules
We describe a technique for specifying operational profiles for modules. The technique is more general than those of the current literature and allows more accurate specification of module usage. We also outline an algorithm for automatically generating ...
Test template framework: a specification-based testing case study
A framework for specification-based testing is demonstrated on a symbol table case study, specified using the Z notation. Test derivation and structuring is discussed, as well as applications of the framework in deriving test oracles and aiding ...
Abstract analysis with aspect
Aspect is a static analysis technique for detecting bugs in code based on three forms of abstraction: declarative specification, data abstraction and partiality (ignoring some behavioural details). Together, they bring efficiency (the checker runs ...
Analyzing refinements of state based specifications: the case of TB nets
We describe how formal specifications given in terms of a high-level timed Petri net formalism (TB nets) can be analyzed to check the temporal properties of bounded invariance (the systems stays in a given state until time τ) and bounded response (the ...
Metric-driven reengineering for static concurrency analysis
An approach to statically analyzing a concurrent program not suited for analysis is described. The program is reengineered to reduce the complexity of concurrency-related activities, thereby reducing the size of the concurrency state space. The key to ...
Using state space reduction methods for deadlock analysis in Ada tasking
Over the past few years, a number of research investigations have been initiated for static analysis of concurrent and distributed software. In this paper we report on experiments with various optimization techniques for reachability-based deadlock ...
An integrated general purpose automated test environment
As software systems become more and more complex, both the complexity of the testing effort and the cost of maintaining the results of that effort increase proportionately. Most existing test environments lack the power and flexibility needed to ...
Implementation-based analysis and testing of Prolog programs
In this paper, we describe the PROTest II (PROlog Test Environment, Version 2) system to test logic programs in an interactive support environment. Logic programs are augmented with declarative information about the types and modes of the arguments of a ...
Load testing software using deterministic state testing
In this paper we introduce a new load testing technique called Deterministic Markov State Testing and report on its application. Our approach is called “deterministic” because the sequence of test case execution is set at planning time, and “state ...
Faults on its sleeve: amplifying software reliability testing
Most of the effort that goes into improving the quality of software paradoxically does not lead to quantitative, measurable quality. Software developers and quality-assurance organizations spend a great deal of effort preventing, detecting, and removing ...
STATEMATE applied to statistical software testing
This paper is concerned with the use of statistical testing as a verification technique for complex software. Statistical testing involves exercising a program with random inputs, the test profile and the number of generated inputs being determined ...
A practical technique for bounding the time between events in concurrent real-time systems
Showing that concurrent systems satisfy timing constraints on their behavior is difficult, but may be essential for critical applications. Most methods are based on some form of reachability analysis and require construction of a state space of size ...
The composability of ASTRAL realtime specifications
ASTRAL is a formal specification language for realtime systems. It is intended to support formal software development, and therefore has been formally defined. In ASTRAL a realtime system is modeled by a collection of state machine specifications and a ...
Mutation analysis using mutant schemata
Mutation analysis is a powerful technique for assessing and improving the quality of test data used to unit test software. Unfortunately, current automated mutation analysis systems suffer from severe performance problems. This paper presents a new ...
Improved serial algorithms for mutation analysis
Existing serial algorithms to do mutation analysis are inefficient, and descriptions of parallel mutation systems pre-suppose that these serial algorithms are the best one can do serially. We present a universal mutation analysis data structure and new ...
Efficient construction of program dependence graphs
We present a new technique for constructing a program dependence graph that contains a program's control flow, along with the usual control and data dependence information. Our algorithm constructs a program dependence graph while the program is being ...
Dynamic impact analysis: a cost-effective technique to enforce error-propagation
This paper introduces dynamic impact analysis as a cost-effective technique to enforce the error-propagation condition for detecting a fault. The intuition behind dynamic impact analysis is as follows. In a specific test-case, if an execution of a ...
An information flow model of fault detection
RELAY is a model of how a fault causes a failure on execution of some test datum. This process begins with introduction of an original state potential failure at a fault location and continues as the potential failure(s) transfers to output. Here we ...
Index Terms
Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis




