Proceedings of the 2007 conference on Specification and verification of component-based systems: 6th Joint Meeting of the European Conference on Software Engineering and the ACM SIGSOFT Symposium on the Foundations of Software Engineering

  • Authors:
  • Arnd Poetzsch-Heffter

  • Affiliations:
  • Univ. of Kaiserslautern

  • Venue:
  • Joint 11th European Software Engineering Conference (ESEC) and 15th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-13) 2007
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

This workshop is concerned with how formal (i.e., mathematical) techniques can be or should be used to establish a suitable foundation for the specification and verification of component-based systems. Component-based systems are a growing concern for the software engineering community. Specification and reasoning techniques are urgently needed to permit composition of systems from components. Component-based specification and verification is also vital for scaling advanced verification techniques such as extended static analysis and model checking to the size of real systems. The workshop will consider formalization of both functional and non-functional behavior, such as performance or reliability. This workshop brings together researchers and practitioners in the areas of component-based software and formal methods to address the open problems in modular specification and verification of systems composed from components. We are interested in bridging the gap between principles and practice. The intent of bringing participants together at the workshop is to help form a community-oriented understanding of the relevant research problems and help steer formal methods research in a direction that will address the problems of component-based systems. For example, researchers in formal methods have only recently begun to study principles of object-oriented software specification and verification, but do not yet have a good handle on how inheritance can be exploited in specification and verification. Other issues are also important in the practice of component-based systems, such as concurrency, mechanization and scalability, performance (time and space), reusability, and understandability. The aim is to brainstorm about these and related topics to understand both the problems involved and how formal techniques may be useful in solving them. The goals of the workshop are to produce: 1. An outline of collaborative research topics, 2. A list of areas for further exploration, 3. An initial taxonomy of the different dimensions along which research in the area can be categorized. For instance, static/dynamic verification, modular/whole program analysis, partial/complete specification, soundness/completeness of the analysis, are all continuums along which particular techniques can be placed, and 4. A web site that will be maintained after the workshop to act as a central clearinghouse for research in this area. We received 17 submissions. All papers were reviewed by at least 3 PC members. After PC discussions via a conference tool, 8 papers were accepted for long presentation at the workshop. Similar to previous years, we accepted 6 additional submissions for short presentation, reflecting the community-building role of SAVCBS and the goal of promoting discussion and incubation of new ideas for which a full paper may be premature. One of the accepted short presentations was withdrawn by the authors. Three submissions were rejected. This year's program also includes a solution to a specification and verification challenge problem posed to workshop attendees. The problem focused on the specification of the subject-observer pattern. This common programming pattern is to separate the component that encapsulates some state from the components that access that state. The former component is often called a subject, while the latter type is an observer. At a minimum, a subject has a method for registering an observer, a method for updating the encapsulated state, and a method for retrieving the value of the state. Observers must provide a method for being notified: the behavior of the pair is that when the update method is called, all registered observers have their notification method called. While familiar to many programmers, this problem poses real challenges for specification and verification systems and it has already been the topic of a number of papers in the field. The received and presented solution was reviewed by two members of the program committee.