ACM Home Page
Please provide us with feedback. Feedback
Automatic verification of design patterns in Java
Full text PdfPdf (260 KB)
Source Automated Software Engineering archive
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering table of contents
Long Beach, CA, USA
SESSION: Validation and verification II table of contents
Pages: 224 - 232  
Year of Publication: 2005
ISBN:1-59593-993-4
Authors
Alex Blewitt  University of Edinburgh, Edinburgh, UK
Alan Bundy  University of Edinburgh, Edinburgh, UK
Ian Stark  University of Edinburgh, Edinburgh, UK
Sponsors
ACM: Association for Computing Machinery
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 45,   Downloads (12 Months): 180,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1101908.1101943
What is a DOI?

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 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
A. Blewitt. A formal catalogue of design patterns. Technical Report Blue book note 1373, Division of Informatics, Edinburgh University, 7 2000.
 
2
A. Blewitt. Hedgehog: Automatic Verification of Design Patterns in Java. PhD thesis, School of Informatics, University of Edinburgh, 2005. Unpublished PhD Thesis. http://www.bandlem.com/Alex/Papers/PhDThesis.pdf.
 
3
 
4
 
5
Y. Cheon. A Runtime Assertion Checker for the Java Modeling Language. PhD thesis, Department of Computer Science, Iowa State University, April 2003.
 
6
 
7
D. Detlefs, K. R. Leino, G. Nelson, and J. Saxe. Extended static checking. Technical Report 159, Systems Research Center, Digital Equipment Corporation, December 1998.
 
8
A. Eden. LePUS - a declarative pattern specification language. Technical report, Tel Aviv University, 1998. http://www.cs.concordia.ca/~faculty/eden/lepus/.
 
9
A. Eden. Precise Specification of Design Patterns and Tool Support in Their Application. PhD thesis, Department of Computer Science, Tel Aviv University, 2000. http://www.eden-study.org.
 
10
 
11
D. Ehms. Patternbox eclipse tool. http://www.patternbox.com.
 
12
Esc/Java 2. web. http://www.sos.cs.ru.nl/research/escjava/index.html.
13
 
14
 
15
M. Fowler and K. Scott. UML Distilled. Addison-Wesley Professional, September 2003.
 
16
 
17
 
18
D. Gruijs. A Framework of Concepts for Representing Object-Oriented Design and Design Patterns. PhD thesis, Department of Computer Science, Utrecht University, August 1998.
 
19
B. P. F. Jacobs and E. Poll. A logic for the Java Modeling Language JML. Technical Report CSI-R0018, Computing Science Institute, University of Nijmegen, December 2000. http://www.cs.kun.nl/csi/reports/info/CSI-R0018.html.
 
20
 
21
K. R. M. Leino, G. Nelson, and J. B. Saxe. ESC/Java user's manual. Technical Report 2000-002, Compaq Systems Research Center, October 2000. http://gatekeeper.dec.com/pub/DEC/SRC/technical-notes/abstracts/src-tn-2000-002.html.
 
22
M. Meijers. Tool support for object-oriented design patterns. Master's thesis, Utrecht University, 1996. INF-SCR-96-28.
 
23
 
24
B. Meyer. Design by Contract. Prentice Hall, 2002.
 
25
M. Ó Cinnéide. Automated Application of Design Patterns: A Refactoring Approach. PhD thesis, University of Dublin, Trinity College, October 2000.
 
26
 
27
 
28
D. Syme. Declarative Theorem Proving for Operational Semantics. PhD thesis, University of Cambridge, Computer Laboratory, 1998.
 
29
 
30
 
31


Collaborative Colleagues:
Alex Blewitt: colleagues
Alan Bundy: colleagues
Ian Stark: colleagues