- Sponsor:
- sigsoft
No abstract available.
Test and analysis of software architectures
Some DoD programs now require prospective contractors to demonstrate the superiority of their software architectures for new weapons systems. This acquisition policy provides new software engineering challenges that focus heavily on the test and ...
An efficient state space generation for analysis of real-time systems
State explosion is a well-known problem that impedes analysis and testing based on state-space exploration. This problem is particularly serious in real-time systems because unbounded time values cause the state space to be infinite. In this paper, we ...
An incremental approach to structural testing of concurrent software
Structural testing of a concurrent program P involves the selection of paths of P according to a structure-based criterion. A common approach is to derive the reachability graph (RG) of P, select a set of paths of P, derive one or more inputs for each ...
Improving the accuracy of Petri net-based analysis of concurrent programs
Spurious results are an inherent problem of most static analysis methods. These methods, in an effort to produce conservative results, overestimate the executable behavior of a program. Infeasible paths and imprecise alias resolution are the two causes ...
Generating functional test cases in-the-large for time-critical systems from logic-based specifications
We address the problem of generating functional test cases for complex, highly structured time-critical systems starting from a modularized logic-based specification written in the TRIOR+ language, an object-oriented extension of the temporal logic ...
Daistish: systematic algebraic testing for OO programs in the presence of side-effects
Daistish is a tool that performs systematic algebraic testing similar to Gannon's DAISTS tool [2]. However, Daistish creates effective test drivers for programs in languages that use side effects to implement ADTs; this includes C++ and most other ...
Structural specification-based testing with ADL
This paper describes a specification-based black-box technique for testing program units. The main contribution is the method that we have developed to derive test conditions, which are descriptions of test cases, from the formal specification of each ...
Issues in the full scale use of formal methods for automated testing
Experience from a full scale effort to apply formal methods to automated testing in the open systems software arena is described. The formal method applied in this work is based upon the Clemson Automated Testing System (CATS) which includes a formal ...
Experiences and lessons from the analysis of TCAS II
This report highlights some of the experiences gathered while analyzing the requirements specification for a commercial avionics system called TCAS II (Traffic alert and Collision Avoidance System II) for consistency and completeness. Completeness in ...
Predicting dependability by testing
In assessing the quality of software, we would like to make engineering judgements similar to those based on statistical quality control. Ideally, we want to support statements like: "The confidence that this program's result at X is correct is p," ...
Using perturbation analysis to measure variation in the information content of test sets
We define the information content of test set T with respect to a program P to be the degree to which the behavior of P on T approximates the overall behavior of P. Informally, the higher the information content of a test set, the greater the likelihood ...
Linear and structural event sequence analysis
An approach to systematic informal program analysis is discussed in which comments that describe hypotheses and assertions about the behavior of programs are analyzed. Event sequence comments analysis methods analyze the consistency of comments that ...
Separate computation of alias information for reuse
Interprocedural dataflow information is useful for many software testing and analysis techniques, including dataflow testing, regression testing, program slicing and impact analysis. For programs with aliases, these testing and analysis techniques can ...
Critical slicing for software fault localization
Developing effective debugging strategies to guarantee the reliability of software is important. By analyzing the debugging process used by experienced programmers, we have found that four distinct tasks are consistently performed: (1) determining ...
The path-wise approach to data flow testing with pointer variables
This paper describes a new approach to performing data flow testing on programs that use pointer variables and a tool based on this approach. Our technique is based on the observation that, under certain reasonable assumptions, we can determine which ...
Unconstrained duals and their use in achieving all-uses coverage
Testing takes a considerable amount of the time and resources spent on producing software. It would therefore be useful to have ways 1) to reduce the cost of testing and 2) to estimate this cost. In particular, the number of tests to be executed is an ...
Software error analysis: a real case study involving real faults and mutations
The paper reports on a first experimental comparison of software errors generated by real faults and by 1st-order mutations. The experiments were conducted on a program developed by a student from the industrial specification of a critical software from ...
Generation of multi-formalism state-space analysis tools
As software evolves from early architectural sketches to final code, a variety of representations are appropriate. Moreover, at most points in development, different portions of a software system are at different stages in development, and consequently ...
Beyond traditional program slicing
Traditional program slices are based on variables and statements. Slices consist of statements that potentially affect (or are affected by) the value of a particular variable at a given statement. Two assumptions are implicit in this definition: 1) that ...
An approach to verification and validation of a reliable multicasting protocol
This paper describes the process of implementing a complex communications protocol that provides reliable delivery of data in multicast-capable, packet-switching telecommunication networks. The protocol, called the Reliable Multicasting Protocol (RMP), ...
A semantic model of program faults
Program faults are artifacts that are widely studied, but there are many aspects of faults that we still do not understand. In addition to the simple fact that one important goal during testing is to cause failures and thereby detect faults, a full ...
Towards a structural load testing tool
Load sensitive faults cause a program to fail when it is executed under a heavy load or over a long period of time, but may have no detrimental effect under small loads or short executions. In addition to testing the functionality of these programs, ...
Automated test data generation for programs with procedures
Test data generation in program testing is the process of identifying a set of test data that satisfies a selected testing criterion, such as, statement coverage or branch coverage. The existing methods of test data generation are limited to unit ...
Reachability analysis of feature interactions: a progress report
Features are added to an existing system to add functionality. A new feature interacts with an existing feature if the behavior of the existing feature is changed by the presence of the new feature. Our research group has started to investigate how to ...
Compositional verification by model checking for counter-examples
Many concurrent systems are required to maintain certain safety and liveness properties. One emerging method of achieving confidence in such systems is to statically verify them using model checking. In this approach an abstract, finite-state model of ...
Elements of style: analyzing a software design feature with a counterexample detector
We illustrate the application of Nitpick, a specification checker, to the design of a style mechanism for a word processor. The design is cast, along with some expected properties, in a subset of Z. Nitpick checks a property by enumerating all possible ...
Constructing abstract models of concurrent real-time software
Concurrent real-time software is used in many safety-critical applications. Assuring the quality of such software requires the use of formal methods. Before a program can be analyzed formally, however, we must construct a mathematical model that ...
Using partial-order methods in the formal validation of industrial concurrent programs
We have developed a formal validation tool that has been used on several projects that are developing software for AT&T's 5ESS™ telephone switching system. The tool uses Holzmann's supertrace algorithm to check for errors such as deadlock and ...
Formal specification and verification of the kernel functional unit of the OSI session layer protocol and service using CCS
This paper describes an application of formal methods to protocol specification, validation and verification. Formal methods can be incorporated in protocol design and testing so that time and resources are saved on implementation, testing, and ...
A logic-model semantics for SCR software requirements
This paper presents a simple logic-model semantics for Software Cost Reduction (SCR) software requirements. Such a semantics enables model-checking of native SCR requirements and obviates the need to transform the requirements for analysis. The paper ...
Index Terms
- Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis