Decomposing Verification Around End-User Features

Kathi Fisler, Shriram Krishnamurthi

Verified Software: Theories, Tools, Experiments, 2008


Practical program verification techniques must align with the software development methodologies that produce the programs. Numerous researchers have independently proposed models of program development in which modules encapsulate units of end-user functionality known as features. Such encapsulation reflects user concerns into a program’s modular structure, which in turn promises to simplify program maintenance in the face of requirements evolution. The interplay between feature-oriented modules and verification raises some interesting challenges and opportunities. Such modules ameliorate some difficulties with conventional modular verification, such as property decomposition, while creating others, by contradicting assumptions that underlie most modular program verification techniques. This paper motivates the decomposition of systems by features and provides an overview of the promises and challenges it poses to verification.


This is a book chapter from the 2005 conference.



These papers may differ in formatting from the versions that appear in print. They are made available only to support the rapid dissemination of results; the printed versions, not these, should be considered definitive. The copyrights belong to their respective owners.