Informatics Report Series



Related Pages

Report (by Number) Index
Report (by Date) Index
Author Index
Institute Index

Title:Automatic Verification of Design Patterns in Java
Authors: Alexander Blewitt ; Alan Bundy ; Ian Stark
Date:Nov 2005
Design patterns are widely used by designers and developers for building complex systems in object-oriented programming languages such as Java. However, systems evolve over time, increasing the chance that the pattern in its original form will be broken. To verify that a design pattern has not been broken requires specifying the original intent of the design pattern. Whilst informal descriptions of design patterns exist, no formal specifications are available due to differences in implementations between programming languages. We present a pattern specification language, Spine, that allows patterns to be defined in terms of constraints on their implementation in Java. We also present some examples of patterns defined in Spine and show how they are processed using a proof engine called Hedgehog. The conclusion discusses the type of patterns that are amenable to defining in Spine, and highlights some repeated mini-patterns discovered in the formalisation of these design patterns.
2005 ACM
This is the author's version of the work. It is posted here by the permission of ACM for your personal use. Not for redistribution. The definitive version was published in Automated Software Engineering: Proceedings of the 20th IEEE/ACM International Conference, pages 224-232, ACM Press, November 2005.
Links To Paper
Author web page
Publisher web page
Bibtex format
author = { Alexander Blewitt and Alan Bundy and Ian Stark },
title = {Automatic Verification of Design Patterns in Java},
year = 2005,
month = {Nov},
url = {},

Home : Publications : Report 

Please mail <> with any changes or corrections.
Unless explicitly stated otherwise, all material is copyright The University of Edinburgh