Effort Reduction and Error Prevention during Software Development and Maintenance
(Dr. Gürcan Gülesir, Lodewijk Bergmans)

Test und Wartung von IT-Systemen

Datum und Uhrzeit:
Mittwoch, 27. Mai 2009 von 15:20 bis 16:00 Uhr

The development and maintenance of today's software systems is an increasingly effort-consuming and error-prone task. A major cause of the effort and errors is the gap between the design and implementation. In practice, software design is often informally documented, or not documented at all. Therefore, (a) the design cannot be properly communicated between software engineers, (b) it cannot be automatically analyzed for finding and removing faults, (c) the conformance of an implementation to the design cannot be automatically verified, and (d) the design documents cannot be kept up-to-date with the evolving source code. As a result, the development of proper design documentation is often considered a large burden with very little pay-off, especially if – it is expected that – the design documentation is not kept up-to-date with the actual software.

In this talk, we address these problems for organizations that develop control-intensive software systems. We present the following solutions, each addressing the respective problem stated above: (a) a graphical language called Vibes, which enables engineers to express requirements on the behavior implemented in source code, (b) a software tool called CheckSpec, which automatically verifies the consistency between multiple specifications written in Vibes, (c) a software tool called CheckSource, which automatically verifies whether a given implementation fulfills the requirements written in Vibes, and (d) a software tool called CreateVisuaL, which semi-automatically generates Vibes specifications from existing (legacy) source code. As a result, writing the Vibes specifications once during design, has multiple pay-offs during product development and during maintenance (since now it can be automatically ensured that design documentation and code remain consistent over the life-time of the product).

Controlled experiments at ASML (www.asml.com) indicate that CheckSource is beneficial during some of the typical control-flow maintenance tasks: 75% effort reduction, and prevention of one error per 140 lines of source code.

The key innovation of this solution is the graphical language Vibes with its patent-pending feature: context-sensitive wildcards. This feature makes Vibes specifications more evolvable (i.e. less susceptible to changes), and more concise.

In this talk, we will explain how the solution ensures that (a) the source code fulfills the requirements (i.e. prevents bugs), (b) the design documents are kept up-to-date with the evolving source code, and (c) common maintenance tasks require substantially less effort.


Dr. Gürcan Gülesir is a part-time software engineer at BloomWise BV i.o, and a part-time post-doctoral fellow at the Software Engineering Group of the University of Twente in The Netherlands, where he obtained his Ph.D. degree. He received his B.Sc. degree in 2001, M.Sc. degree in 2003, from the Computer Engineering Department of Bilkent University in Turkey. His research interests include software composition, evolution, verification, and measurement.


©2008 4Soft GmbH - http://www.4soft.de