HEDGEHOG: Automatic Verification of Design Patterns in Java
Item Status
Embargo End Date
Date
Authors
Abstract
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 involves specifying the original intent of
the design pattern. Whilst informal descriptions of patterns exist, no formal specifications are
available due to differences in implementations between programming languages.
This thesis shows that many patterns (implemented in Java) can be verified automatically.
Patterns are defined in terms of variants, mini-patterns, and artefacts in a pattern description
language called SPINE. These specifications are then processed by HEDGEHOG, an automated
proof tool that attempts to prove that Java source code meets these specifications.
This item appears in the following Collection(s)

