| Using predicate abstraction to reduce object-oriented programs for model checking |
| Full text |
Pdf
(385 KB)
|
| Source
|
Formal Methods in Software Practice
archive
Proceedings of the third workshop on Formal methods in software practice
table of contents
Portland, Oregon, United States
Pages: 3 - 182
Year of Publication: 2000
ISBN:1-58113-262-X
|
|
Authors
|
|
William Visser
|
RIACS, NASA Ames Research Ctr., Moffet Field, CA
|
|
SeungJoon Park
|
RIACS, NASA Ames Research Ctr., Moffet Field, CA
|
|
John Penix
|
Computational Sciences Div., NASA Ames Research Ctr., Moffet Field, CA
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 44, Citation Count: 9
|
|
|
ABSTRACT
While it is becoming more common to see model checking applied to software requirements specifications, it is seldom applied to software implementations. The Automated Software Engineering group at NASA Ames is currently investigating the use of model checking for actual source code, with the eventual goal of allowing software developers to augment traditional testing with model checking. Because model checking suffers from the state-explosion problem, one of the main hurdles for program model checking is reducing the size of the program. In this paper we investigate the use of abstraction techniques to reduce the state-space of a real-time operating system kernel written in C++. We show how informal abstraction arguments could be formalized and improved upon within the framework of predicate abstraction, a technique based on abstract interpretation. We introduce some extensions to predicate abstraction that all allow it to be used within the class-instance framework of object-oriented languages. We then demonstrate how these extensions were integrated into an abstraction tool that performs automated predicate abstraction of Java programs.
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
|
Richard J. Anderson , Paul Beame , Steve Burns , William Chan , Francesmary Modugno , David Notkin , Jon D. Reese, Model checking large software specifications, Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering, p.156-166, October 16-18, 1996, San Francisco, California, United States
|
| |
2
|
|
| |
3
|
|
 |
4
|
William Chan , Richard J. Anderson , Paul Beame , David H. Jones , David Notkin , William E. Warner, Decoupling synchronization from local control for efficient symbolic model checking of statecharts, Proceedings of the 21st international conference on Software engineering, p.142-151, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302460]
|
 |
5
|
|
| |
6
|
|
 |
7
|
James C. Corbett , Matthew B. Dwyer , John Hatcliff , Shawn Laubach , Corina S. Păsăreanu , Robby , Hongjun Zheng, Bandera: extracting finite-state models from Java source code, Proceedings of the 22nd international conference on Software engineering, p.439-448, June 04-11, 2000, Limerick, Ireland
[doi> 10.1145/337180.337234]
|
| |
8
|
P. Cousot and R. Cousot. Abstract Interpretation Frameworks. Journal of Logic and Computation, 4(2):511-547, August 1992.
|
 |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
K. Havelund and T. Pressburger. Model checking java programs using java pathfinder, International Journal on Software Tools for Technology Transfer, 1999.
|
| |
13
|
Klaus Havelund, Michael Lowry, SeungJoon Park, Charles Pecheur, John Penix, Willem Visser, and Jon L. White. Formal analysis of the remot agent before mid after flight. In Lfm 2000: Fifth NASA Langley Formal Methods Workshop, 2000.
|
| |
14
|
|
 |
15
|
|
 |
16
|
Gleb Naumovich , George S. Avrunin , Lori A. Clarke, Data flow analysis for checking properties of concurrent Java programs, Proceedings of the 21st international conference on Software engineering, p.399-410, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302663]
|
| |
17
|
B. Pell, E. Gat, R. Keesing, N. Muscettola, mid B. Smith. Plan Execution for Autonomous Spacecrafts. In Proceedings of the International Joint Conference on Artificial Intelbigence, August 1997. Nagoya, Japan.
|
 |
18
|
John Penix , Willem Visser , Eric Engstrom , Aaron Larson , Nicholas Weininger, Verification of time partitioning in the DEOS scheduler kernel, Proceedings of the 22nd international conference on Software engineering, p.488-497, June 04-11, 2000, Limerick, Ireland
[doi> 10.1145/337180.337364]
|
| |
19
|
|
| |
20
|
|
| |
21
|
|
CITED BY 9
|
|
|
|
|
Xianghua Deng , Matthew B. Dwyer , John Hatcliff , Masaaki Mizuno, Invariant-based specification, synthesis, and verification of synchronization in concurrent programs, Proceedings of the 24th International Conference on Software Engineering, May 19-25, 2002, Orlando, Florida
|
|
|
Matthew B. Dwyer , John Hatcliff , Roby Joehanes , Shawn Laubach , Corina S. Păsăreanu , Hongjun Zheng , Willem Visser, Tool-supported program abstraction for finite-state verification, Proceedings of the 23rd International Conference on Software Engineering, p.177-187, May 12-19, 2001, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
John Penix , Willem Visser , Seungjoon Park , Corina Pasareanu , Eric Engstrom , Aaron Larson , Nicholas Weininger, Verifying Time Partitioning in the DEOS Scheduling Kernel, Formal Methods in System Design, v.26 n.2, p.103-135, March 2005
|
|
|
|
|