Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/239098.239127acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article
Free access

Model checking large software specifications

Published: 01 October 1996 Publication History

Abstract

In this paper we present our results and experiences of using symbolic model checking to study the specification of an aircraft collision avoidance system. Symbolic model checking has been highly successful when applied to hardware systems. We are interested in the question of whether or not model checking techniques can be applied to large software specifications.To investigate this, we translated a portion of the finite-state requirements specification of TCAS II (Traffic Alert and Collision Avoidance System) into a form accepted by a model checker (SMV). We successfully used the model checker to investigate a number of dynamic properties of the system.We report on our experiences, describing our approach to translating the specification to the SMV language and our methods for achieving acceptable performance in model checking, and giving a summary of the properties that we were able to check. We consider the paper as a data point that provides reason for optimism about the potential for successful application of model checking to software systems. In addition, our experiences provide a basis for characterizing features that would be especially suitable for model checkers built specifically for analyzing software systems.The intent of this paper is to evaluate symbolic model checking of state-machine based specifications, not to evaluate the TCAS II specification. We used a preliminary version of the specification, the version 6.00, dated March, 1993, in our study. We did not have access to later versions, so we do not know if the properties identified here are present in later versions.

References

[1]
T. Alspaugh, S. Faulk, K. Britton, R. Parker, D. Parnas,and J. Shore. Software requirements for the A-7E aircraft. Technical report, Naval Research Lab., March 1988,
[2]
J. M. Atlee and A. M. Buckley. A logic-model semantics for SCR software requirements. In Proceedings of the International Symposium on Software Testing and Analysis, pages 280-292, January 1996.
[3]
R. E. Bryant. On the complexity of VLSI implementations and graph representation of boolean functions with applications to integer multiplication. IEEE Transactions on Computers, 40(2):205-213, February 1991.
[4]
R. E. Bryant and Chen Y.-A. Verification of arithmetic circuits with Binary Moment Diagrams. In Proceedings of the 32nd ACM/IEEE Design Automation Conference,pages 535-541, June 1995,
[5]
R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, C-35(6):677-691, August 1986.
[6]
J. R. Burch, E. M. Clarke, D. E. Long, K. L. McMillan, and D. L. Dill. Symbolic model checking for sequential circuit verification. IEEE Transactions on Computer-Aided Design oj Integrated Circuits and Systems,13(4):401-424, April 1994.
[7]
E. Clarke and X. Zhao. Word level symbolic model checking: A new approach for verifying arithmetic circuits.Technical Report CMU-CS-95-161, School of Computer Science, Carnegie Mellon University, May 1995.
[8]
E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244-63, April 1986.
[9]
J.C, Corbett, Evaluating deadlock detection methods for concurrent software. IEEE Transactions on Software Engineering, SE-22(3), March 1996.
[10]
Federal Aviation Administration, U.S. Department of Transportation. Introduction to TCAS II, March 1990.
[11]
Federal Aviation Administration, U.S. Department of Transportation. TCAS II Collision Avoidance System (CAS) System Requirements Specification, Change 6.00, March 1993.
[12]
D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231 274, 1987.
[13]
M.P.E. Heimdahl and N.G. Leveson. Completeness and consist ency analysis of state-based requirements. In Proceedings of the 17th International Conference on Software Engineering, pages 3-14, April 1995.
[14]
K. Heninger. Specifying software requirements for complex systems: New techniques and their applications.IEEE Transactions on Software Engineering, SE- 6(1):2-12, January 1980.
[15]
D. Jackson. Abstract model checking of infinite specifications.In Proceedings of FME '94: Industrial Benefit of Formal Methods, Second International Symposium of Format Methods Europe, pages 519-31. Springer-Verlag, October 1994.
[16]
M. S. Jaffe, N. G. Leveson, M. P. E. Heimdahl, and B. E. Melhart. Software requirements analysis for realtime process-control systems. IEEE Transactions on Software Engineering, 17(3):241-258, March 1991.
[17]
N.G. Leveson, M.P.E. Heimdahl, H. Hildreth, and J.D. Reese. Requirements specification for process-control systems. IEEE Transactions on Software Engineering, SE-20(9), September 1994.
[18]
K.L. McMillan. Symbolic Model Checking. Kluwer Academic publishers, 1993.
[19]
A. Pnueli and M. Shalev. What is in a step: On the semantics of Statecharts. In Proceedings of International Conference on Theoretical Aspects of Computer Software,pages 245-264. Springer-Verlag, September 1991.
[20]
S. Ponzio. A lower bound for integer multiplication with read-once branching programs. In Proceedings of the 27th ACM Symposium on Theory of Computing, pages 130-139, May 1995.
[21]
T. Sreemani and J. Atlee. Feasibility of model checking software requirements: A case study. Technical Report CS96-05, Department of Computer Science, University of Waterloo, January 1996.
[22]
J.M. Wing and M. Vaziri-Farahani. Model checking software systems: A case study. In Proceedings of SIGSOFT'95 Third A CM SIGSOFT Symposium on the Foundations of Software Engineering, pages 128-139, October 1995.

Cited By

View all
  • (2014)Transformation of UML Behavioral Diagrams to Support Software Model CheckingElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.147.10147(133-142)Online publication date: 2-Apr-2014
  • (2014)A candid industrial evaluation of formal software verification using model checkingCompanion Proceedings of the 36th International Conference on Software Engineering10.1145/2591062.2591184(175-184)Online publication date: 31-May-2014
  • (2011)A model checking framework for hierarchical systemsProceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2011.6100143(633-636)Online publication date: 6-Nov-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGSOFT '96: Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
October 1996
190 pages
ISBN:0897917979
DOI:10.1145/239098
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1996

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SOFT96
Sponsor:
SOFT96: SIGSOFT '96
October 16 - 18, 1996
California, San Francisco, USA

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)82
  • Downloads (Last 6 weeks)23
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Transformation of UML Behavioral Diagrams to Support Software Model CheckingElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.147.10147(133-142)Online publication date: 2-Apr-2014
  • (2014)A candid industrial evaluation of formal software verification using model checkingCompanion Proceedings of the 36th International Conference on Software Engineering10.1145/2591062.2591184(175-184)Online publication date: 31-May-2014
  • (2011)A model checking framework for hierarchical systemsProceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2011.6100143(633-636)Online publication date: 6-Nov-2011
  • (2007)Practical ultra‐reliability for abstract data typesSoftware Testing, Verification and Reliability10.1002/stvr.36717:3(183-203)Online publication date: 9-Mar-2007
  • (2006)Static analysis to identify invariants in RSML specificationsFormal Techniques in Real-Time and Fault-Tolerant Systems10.1007/BFb0055343(133-142)Online publication date: 27-May-2006
  • (2006)On the need for practical formal methodsFormal Techniques in Real-Time and Fault-Tolerant Systems10.1007/BFb0055332(18-26)Online publication date: 27-May-2006
  • (2005)SCR: A toolset for specifying and analyzing software requirementsComputer Aided Verification10.1007/BFb0028775(526-531)Online publication date: 18-Jun-2005
  • (2005)Experience with Z developing a control program for a radiation therapy machineZUM '97: The Z Formal Specification Notation10.1007/BFb0027295(317-328)Online publication date: 17-Jun-2005
  • (2005)Verification of real time chemical processing systemsHybrid and Real-Time Systems10.1007/BFb0014731(259-272)Online publication date: 9-Jun-2005
  • (2005)Combining constraint solving and symbolic model checking for a class of systems with non-linear constraintsComputer Aided Verification10.1007/3-540-63166-6_32(316-327)Online publication date: 7-Jun-2005
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media