Faculty Advisor or Committee Member

Prof. Kathi Fisler, Advisor

Faculty Advisor or Committee Member

Prof. George T. Heineman

Faculty Advisor or Committee Member

Prof. Michael Gennert

Identifier

etd-0821103-122029

Abstract

"Feature-oriented programming is a way of designing a program around the features it performs, rather than the objects or files it manipulates. This should lead to an extensible and flexible "product-line" architecture that allows custom systems to be assembled with particular features included or excluded as needed. Composing these features together modularly, while leading to flexibility in the feature-set of the finished product, can also lead to unexpected interactions that occur between features. Robert Hall presented a manual methodology for locating these interactions and has used it to search for feature interactions in email. Li et al. performed automatic verification of Hall's system using model-checking verifications tools. Model-checking verification is state-based, and is not well-suited for verifying recursive data structures, an area where theorem-proving verification tools excel. In this thesis, we propose a methodology for using formal theorem-proving tools for modularly verifying feature-oriented systems. The methodology presented captures the essential steps for using modular techniques for modeling and verifying a system. This enables verification of individual modules, without examining the source code of the other modules in the system. We have used Hall's email system as a test case for validating the methodology."

Publisher

Worcester Polytechnic Institute

Degree Name

MS

Department

Computer Science

Project Type

Thesis

Date Accepted

2003-08-21

Accessibility

Unrestricted

Subjects

feature-oriented programming, software verification, modular verification, theorem proving, feature interaction, Automatic theorem proving, Computer architecture, Feature-oriented programming (Computer science)

Share

COinS