2,847 papers · page 132 of 143
Reidar Conradi, Tore Dybå
Most quality and software process improvement frameworks emphasize written (i.e. formal) documentation to convey recommended work practices. However, there is considerable skepticism among developers to learn from and adhere to prescribed process models. The latter are often perc…
Leigh A. Davis, Rose F. Gamble, Jamie Payton, Gerður Jónsdóttir, Dennis J. Underwood
The progression of component-based software engineering (CBSE) is essential to the rapid, cost-effective development of complex software systems. Given the choice of well-tested components, CBSE affords reusability and increases reliability. However, applications developed accord…
William Dickinson, David Leon, Andy Podgurski
Observation-based testing calls for analyzing profiles of executions induced by potential test cases, in order to select a subset of executions to be checked for conformance to requirements. A family of techniques for selecting such a subset is evaluated experimentally. These tec…
Jon Edvardsson, Mariam Kamkar
In a series of articles Gupta et al. develop a framework for automatic test data generation for computer programs. In general, their approach consists of a branch predicate collector, which derives a system of linear inequalities representing the branch predicates for a given pat…
Wolfgang Emmerich, Nima Kaveh
This one-day tutorial is aimed at software engineering practitioners and researchers, who are familiar with object-oriented analysis, design and programming and want to obtain an overview of the technologies that are enabling component-based development. We introduce the idea of …
Gregor Engels, Jochen Malte Küster, Reiko Heckel, Luuk Groenewegen
Object-oriented modeling favors the modeling of object behavior from different viewpoints and the successive refinement of behavioral models in the development process. This gives rise to consistency problems of behavioral models. The absence of a formal semantics for UML models …
Jacky Estublier, Hervé Verjus, Pierre-Yves Cunin
Building large software applications from Commerical Off The Shelf tools (COTS) is not an industrial reality so far. This work presents a new approach to solve the different problems found when building a federation of COTS.
Robert Bruce Findler, Mario Latendresse, Matthias Felleisen
Component-based software manufacturing has the potential to bring division-of-labor benefits to the world of software engineering. In order to make a market of software components viable, however, producers and consumers must agree on enforceable software contracts. In this paper…
Kathi Fisler, Shriram Krishnamurthi
Most existing modular model checking techniques betray their hardware roots: they assume that modules compose in parallel. In contrast, collaboration-based software designs, which have proven very successful in several domains, are sequential in the simplest case. Most interestin…
Bernd G. Freimut, Susanne Hartkopf, Peter Kaiser, Jyrki Kontio, Werner Kobitzsch
Explicit risk management is gaining ground in industrial software development projects. However, there are few empirical studies that investigate the transfer of explicit risk management into industry, the adequacy of the risk management approaches to the constraints of industria…
Paul Grünbacher, Barry W. Boehm
EasyWinWin is a requirements definitions methodology that builds on the win-win negotiation approach and leverages collaborative technology to improve the involvement and interaction of key stakeholders. With EasyWinWin, stakeholders move through a step-by-step win-win negotiatio…
André van der Hoek, Marija Mikic-Rakic, Roshanak Roshandel, Nenad Medvidovic
In the world of software development everything evolves. So, then, do software architectures. Unlike source code, for which the use of a configuration management (CM) system is the predominant approach to capturing and managing evolution, approaches to capturing and managing arch…
Paola Inverardi, Massimo Tivoli
Many software projects are based on the integration of independently designed software components that are acquired on the market rather than developed within the project itself. Sometimes interoperability and composition mechanisms provided by component based integration framewo…
Daniel Jackson, Ilya Shlyakhter, Manu Sridharan
A simple mechanism for structuring specifications is described. By modelling structures as atoms, it remains entirely first-order and thus amenable to automatic analysis. And by interpreting fields of structures as relations, it allows the same relational operators used in the fo…
Ramesh Jagannathan, Paolo A. G. Sivilotti
When a client makes use of a remote component, it does not have direct access to the remote component's implementation or state information. By observing the component's interactions with its environment, however, the client can determine whether the component's behavior conforms…
Jens H. Jahnke
The omnipresence of the Internet and the World Wide Web (Web) via phone lines, cable-TV, power lines, and wireless RF devices has created an inexpensive media for telemonitoring and remotely controlling distributed electronic appliances. The great variety of potential benefits of…
Nima Kaveh, Wolfgang Emmerich
The behaviour of a distributed system is largely determined by the use of synchronization primitives and threading policies of the underlying middleware. The inherent parallel nature of distributed systems may cause liveness problems, such as deadlocks and livelocks. An increasin…
Gregor Kiczales, Erik Hilsdale
Aspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use AOP to implement crosscutti…
Engin Kirda
The important role of Web services in businesses and organizations is undisputed today. The construction and management of large Web services is still a challenge. The life cycle of a Web service includes the analysis, design, implementation and maintenance stages and Web service…
Luigi Lavazza, Gabriele Quaroni, Matteo Venturelli
This article explores a dual approach to real-time software development. Models are written in UML, as this is expected to be relatively easy and economic. Then models are automatically translated into a formal notation that supports the verification of properties such as safety,…