Using predicate abstraction to reduce object-oriented programs for model checking
Using predicate abstraction to reduce object-oriented programs for model checking
复制标题
使用谓词抽象来减少模型检查的面向对象程序
DOI:
10.1145/349360.351125
复制
发表时间:
2000
期刊:
影响因子:
--
通讯作者:
J. Penix
中科院分区:
文献类型:
--
作者:
W. Visser;Seungjoon Park;J. Penix
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.