|
ABSTRACT
Automatic generation of state invariants, properties that hold in every reachable state of a state machine model, can be valuable in software development. Not only can such invariants be presented to system users for validation, in addition, they can be used as auxiliary assertions in proving other invariants. This paper describes an algorithm for the automatic generation of state invariants that, in contrast to most other such algorithms, which operate on programs, derives invariants from requirements specifications. Generating invariants from requirements specifications rather than programs has two advantages: 1) because requirements specifications, unlike programs, are at a high level of abstraction, generation of and analysis using such invariants is easier, and 2) using invariants to detect errors during the requirements phase is considerably more cost-effective than using invariants later in software development. To illustrate the algorithm, we use it to generate state invariants from requirements specifications of an automobile cruise control system and a simple control system for a nuclear plant. The invariants are derived from specifications expressed in the SCR (Software Cost Reduction) tabular notation.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
ALSPAUGH, T. A., FAULK, S. R., BRITTON, K. H., PARKER, R. A., PARNAS, D. L., AND SHORE, J. E. Software requirements for the A- 7E aircraft. Tech. Rep. NRL-9194, Naval Research Lab., Wash., DC, 1992.
|
| |
2
|
ARCHER, M., AND HEITMEYER, C. The use of model checking and abstraction in analyzing requirements specifications: A formal foundation. Tech. rep., Naval Research Lab., Washington, DC, 1998. (Draft).
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
 |
9
|
|
| |
10
|
CROW, J., OWRE, S., RUSHBY, J., SHANKAR, N., AND SRIVAS, M. A tutorial introduction to PVS. Tech. rep., Computer Science Lab, SRI Int'l, Menlo Park, CA, Apr. 1995. (Presented at WIFT '95: Workshop on Industrial-Strength Formal Specification Techniques, Boca Raton, FL).
|
| |
11
|
|
| |
12
|
FAULIC, S. R., FINNERAN, L., KIRBY, JR., J., SHAH, S., AND SUTTON, J. Esperience applying the CORE method to the Lockheed C-130J. In Proc. gfh Annual Conf. on Computer Assurance (COdlPASS ' $4) (Gaithersburg, MD, June 1994), pp. 3-8.
|
| |
13
|
|
 |
14
|
|
| |
15
|
Constance Heitmeyer , James Kirby, Jr. , Bruce Labaw , Myla Archer , Ramesh Bharadwaj, Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications, IEEE Transactions on Software Engineering, v.24 n.11, p.927-948, November 1998
[doi> 10.1109/32.730543]
|
| |
16
|
|
 |
17
|
|
| |
18
|
HEIThIEYER, C. L., KIRBY, JR., J., AND LABAW, B. G. Tools for formal specification, verification, and validation of requirements. In PTOC. 12fh Annual Conf. on Computer Assurance (COM- PASS' 97) (Gaithersburg, MD, June 1997), IEEE.
|
| |
19
|
HENINGER, K., PARNAS, D. L., SHORE, J. E., AND KALLANDER, J. W. Software requirements for t'he A-7E aircraft. Tech. Rep. 3876, Naval Research Lab., Wash., DC, 1978.
|
| |
20
|
HENINGER, K. L. Specifying software requiremen& for complex systems: Nelv techniques and their application. IEEE Trans. Soffw. Eng. SE-6, 1 (Jan. 1980), 2-13.
|
| |
21
|
|
| |
22
|
JEFFORDS, R. D., AND HEITIEYER, C. L. Efficient automatic generation of state invariants from esecut,able requirements specifications. Tech. rep., Naval Research Lab., Washington DC, 1998. (Draft).
|
| |
23
|
KIRBY, JR., J. Example NRL/SCR softlvare requirements for an automobile cruise control and monitoring system. Tech. Rep. TR-87-07, Wang Inst. of Graduate Studies, Tyngsboro, MA, July 1987.
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
Z Manna , Anuchit Anuchitanukul , Nikolaj Bjorner , Anca Browne , Edward Chang , Michael Colon , Luca de Alfaro , Harish Devarajan , Henny Sipma , Tomas Uribe, STeP: The Stanford Temporal Prover, Stanford University, Stanford, CA, 1994
|
| |
28
|
|
| |
29
|
|
| |
30
|
OWRE, S., SHANKAR, N., AND RUSHBY, J. User guide for the PVS specification and verification system (Draft). Tech. rep., Computer Science Lab, SRI Int'l, Menlo Park, CA, 1993.
|
| |
31
|
|
| |
32
|
|
| |
33
|
SREEMANI, T., AND ATLEE, J. M. Feasibility of model checking software requirements: A case study. In PTOC. 11th Annual Conference on Computer Assurance (COhfPASS ' 96) (Gaithersburg, MD, June 1996), pp. 77-88.
|
| |
34
|
|
CITED BY 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Michael D. Ernst , Jake Cockrell , William G. Griswold , David Notkin, Dynamically discovering likely program invariants to support program evolution, Proceedings of the 21st international conference on Software engineering, p.213-224, May 16-22, 1999, Los Angeles, California, United States
|
|
|
|
|
|
Constance Heitmeyer , James Kirby, Jr. , Bruce Labaw , Myla Archer , Ramesh Bharadwaj, Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications, IEEE Transactions on Software Engineering, v.24 n.11, p.927-948, November 1998
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
G.
Mathematics of Computing
G.4
MATHEMATICAL SOFTWARE
Subjects:
Algorithm design and analysis
K.
Computing Milieux
K.6
MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
K.6.3
Software Management
Subjects:
Software development
General Terms:
Algorithms,
Design,
Measurement,
Performance,
Theory,
Verification
Keywords:
formal methods,
invariants,
requirements,
software tools,
specification,
validation,
verification
|