Glass Box Software Model Checking.
详细信息   
  • 作者:Roberson ; Michael E.
  • 学历:Doctor
  • 年:2011
  • 导师:Boyapati, Chandrasekhar,eadvisor
  • 毕业院校:University of Michigan
  • ISBN:9781124916866
  • CBH:3476750
  • Country:USA
  • 语种:English
  • FileSize:4504170
  • Pages:100
文摘
Model checking is a formal verification technique that exhaustively tests a piece of hardware or software on all possible inputs usually up to a given size) and on all possible nondeterministic schedules. For hardware, model checkers have successfully verified fairly complex finite state control circuits with up to a few hundred bits of state information; but not circuits in general that have large data paths or memories. Similarly, for software, model checkers have primarily verified control-oriented programs with respect to temporal properties; but not much work has been done to verify data-oriented programs with respect to complex data-dependent properties. This dissertation presents glass box software model checking , a novel software model checking approach that achieves a high degree of state space reduction in the presence of complex data-dependent properties. Our key insight is that there are classes of operations that affect a programs state in similar ways. By discovering these similarities, we dramatically reduce the state space of our model checker by checking each class of states in a single step. To achieve this state space reduction, we employ a dynamic analysis to detect similar state transitions and a static analysis to check the entire class of transitions. These analyses employ a symbolic execution technique that increases their effectiveness. We also present a modular extension to glass box software model checking, to further improve the efficiency of checking large programs composed of multiple modules. In a modular checking approach program modules are replaced with abstract implementations, which are functionally equivalent but vastly simplified versions of the modules. We also apply the glass box model checking technique to the problem of checking type soundness. Since proving type soundness can be extremely difficult, a model checking approach takes a considerable burden off the language designer. Our experimental results indicate that glass box model checking is efficient and effective at checking a variety of programs and properties, including program invariants, equivalence to an abstraction, and type soundness. Comparisons with other model checking techniques show that our technique is more efficient at checking these programs and properties.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700