Decomposing Verification Around End-User Features
نویسندگان
چکیده
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. A Notion of Software Development For program verification to thrive, verification methodologies must align with software development methodologies. This goal imposes several requirements. First, verification tools should be able to handle program fragments of the style and granularity that programmers produce. Second, the effort to verify a program increment should bear some reasonable ratio to the effort to develop that increment. Third, the effort needed to reverify a program or fragment as it evolves should be proportional to the effort required to make the modification. Today’s verification techniques fail to meet these goals, partly due to a misalignment between the models of software development and programming on which the techniques are built. Our understanding of this problem is inspired by the picture in Figure 1 which Michael Jackson used in his presentation at ESEC/FSE 2001 (following his acceptance of the SIGSOFT Outstanding Research Award). The box at ? This work is partially funded by NSF grants CCR-0305834, CCR-0132659, CCR0447509 and CCR-0305950. 3 We have transcribed this picture from our notes; a related version is in a paper [1].
منابع مشابه
Is Feature-Oriented Verification Useful for Hardware?
The structure of designs too often fails verification. Isolating fragments of designs that impact a particular property can make verification significantly more tractable. Because performing this isolation is challenging, verifiers often rely on the modular structure of the design for guidance. Unfortunately, the portions of designs that impact properties often span several modules. As a result...
متن کاملDecomposing Verification by Features
Practical program verification techniques must align with the software development methodologies that produce the programs. Researchers from several corners of software engineering have proposed similar models of program development in which modules encapsulate units of end-user functionality known as features. These models ameliorate some difficulties with conventional modular verification, su...
متن کاملU-Stroke Pattern Modeling for End User Identity Verification Through Ubiquitous Input Device
Identity verification on ubiquitous input devices is a major concern to validate end-users, because of mobility of the devices. User device interaction (UDI) is capable to capture end-users’ behavioral nature from their device usage pattern. The primary goal of this paper is to collect heterogeneous parameters of usage patterns from any device and build personal profile with goodrecognition cap...
متن کاملKeystroke-Based User Identification on Smart Phones
Smart phones are now being used to store users’ identities and sensitive information/data. Therefore, it is important to authenticate legitimate users of a smart phone and to block imposters. In this paper, we demonstrate that keystroke dynamics of a smart phone user can be translated into a viable features’ set for accurate user identification. To this end, we collect and analyze keystroke dat...
متن کاملA methodology for vertical Reuse of functional verification from subsystem to SoC level with seamless SoC emulation
Verifying a complex SoC is challenging. The testbench and testcases must be developed early as these are used for everything from SoC verification to achieve higher coverage on features/protocol coverage, i/f integration and performance verification. Time to market makes early software development a necessity. Verification assisted with early software development needs more than dynamic simulat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005