No abstract available.
Foreword
Dedication
Organizing Committees
The program understanding problem: analysis and a heuristic approach
Program understanding is the process of making sense of a complex source code. This process has been considered as computationally difficult and conceptually complex. So far no formal complexity results have been presented, and conceptual models differ ...
The design of whole-program analysis tools
Building efficient tools for understanding large software systems is difficult. Many existing program understanding tools build control flow and data flow representations of the program a priori, and therefore may require prohibitive space and time when ...
How to identify binary relations for domain models
Many approaches to requirements engineering include building a model of the domain. Those using entity relationship modeling or deriving from it employ the concept of relations between entities, but identifying the relations is still more of an art than ...
OPSIS: a view mechanism for software processes which supports their evolution and reuse
The paper describes Opsis, a view mechanism applied to graph based process modelling languages of type Petri net. A view is a sub model which can be mechanistically constructed from another model by application of a perspective which: identifies all ...
GRIDS—graph-based, integrated development of software: integrating different perspectives of software engineering
The paper presents a multi dimensional software engineering model, based on a formal graph specification. In contrast to other software engineering approaches, we concentrate on the integration of the "partial" models of software processes, system ...
An analytic framework for specifying and analyzing imprecise requirements
There are at least three challenges with requirements analysis. First, it needs to bridge informal requirements, which are often vague and imprecise, to formal specification methods. Second, requirements often conflict with each other. Third, existing ...
Assertion-oriented automated test data generation
Assertions are recognized as a powerful tool for automatic run time detection of software errors. However, existing testing methods do not use assertions to generate test cases. We present a novel approach of automated test data generation in which ...
A specification-based adaptive test case generation strategy for open operating system standards
The paper presents a specification based adaptive test case generation (SBATCG) method for integration testing in an open operating system standards environment. In the SBATCG method, templates describing abstract state transitions are derived from a ...
An empirical study of static call graph extractors
Informally, a call graph represents calls between entities in a given program. The call graphs that compilers compute to determine the applicability of an optimization must typically be conservative: a call may be omitted only if it can never occur an ...
Industrial experience with design patterns
- Kent Beck,
- Ron Crocker,
- Gerard Meszaros,
- John Vlissides,
- James O. Coplien,
- Lutz Dominick,
- Frances Paulisch
A design pattern is a particular prose form of recording design information such that designs which have worked well in the past can be applied again in similar situations in the future. The availability of a collection of design patterns can help both ...
Engineering an “open” client/server-platform for a distributed Austrian alpine road-pricing system in 240 days: case study and experience report
The paper describes engineering a system for a distributed Austrian Alpine road-pricing environment as well as the structure and organization of the software development. The client/server-based road-pricing system, handling on average 1.2 million ...
An object-oriented implementation of B-ISDN signalling—part 2: extendability stands the test
The article discusses the extension to an existing object-oriented implementation for B-ISDN signalling. After a brief overview of the existing implementation it is shown where changes in the existing software were made to meet the new requirements (in ...
Independent on-line monitoring of evolving systems
We argue that the trustworthiness of evolving software systems can be significantly enhanced by a rigorous process of independent on-line monitoring. Such monitoring can prevent fraud, encourage careful maintenance, and serve as an early detector of ...
Checking subsystem safety properties in compositional reachability analysis
The software architecture of a distributed program can be represented by an hierarchical composition of subsystems, with interacting processes at the leaves of the hierarchy. Compositional reachability analysis has been proposed as a promising automated ...
Assertional reasoning about pairwise transient interactions in mobile computing
Mobile computing represents a major point of departure from the traditional distributed computing paradigm. The potentially very large number of independent computing units, a decoupled computing style, frequent disconnections, continuous position ...
Effort estimation using analogy
The staff resources or effort required for a software project are notoriously difficult to estimate in advance. To date most work has focused upon algorithmic cost models such as COCOMO and Function Points. These can suffer from the disadvantage of the ...
Experiences of software quality management using metrics through the life-cycle
Many software quality metrics to objectively grasp software products and process have been proposed in the past decades. In actual projects, quality metrics has been widely applied to manage software quality. However, there are still several problems ...
Analytical and empirical evaluation of software reuse metrics
How much can be saved by using existing software components when developing new software systems? With the increasing adoption of reuse methods and technologies, this question becomes critical. However, directly tracking the actual cost savings due to ...
A case study in applying a systematic method for COTS selection
This paper describes a case study that used and evaluated key aspects of a method developed for systematic reusable off-the-shelf software selection. The paper presents a summary of the common problems in reusable off-the-shelf software selection, ...
System acquisition based on software product assessment
The procurement of complex software product involves many risks. To properly assess and manage those risks, Bell Canada has developed methods and tools that combine process capability assessment with a static analysis based software product assessment. ...
Experience assessing an architectural approach to large-scale systematic reuse
Systematic reuse of large-scale software components promises rapid, low cost development of high-quality software through the straightforward integration of existing software assets. To date this promise remains largely unrealized, owing to technical, ...
Using KIDS as a tool support for VDM
KIDS/VDM is an experimental environment that supports the synthesis of executable prototypes from VDM specifications. The development proceeds as a series of correctness preserving transformations under the strict control of the tool. A by-product of ...
Executable object modeling with statecharts
This paper reports on an effort to develop an integrated set of diagrammatic languages for modeling object-oriented systems, and to construct a supporting tool. The goal is for models to be intuitive and well-structured, yet fully executable and ...
Index Terms
Proceedings of the 18th international conference on Software engineering



