DARWIN Digitale Dissertationen German Version Strich

FU Berlin
Digitale Dissertation

Boris Bokowski :
A Framework for Checking Programmer-Defined Constraints on the Definition and Use of Program Elements in Java
Ein Framework zur Überprüfung von Programmier-Constraints bezüglich der Definition und der Benutzung von Programmelementen in Java

FU Logo


|Abstract| |Table of Contents| |More Information|

Abstract

For functioning correctly, complex object-oriented software relies on application-specific constraints regarding the definition and use of program elements. This dissertation presents CoffeeStrainer, a system for checking programmer-defined constraints on Java source code. CoffeeStrainer constraints are unique in that they are modular, extensible and composable, and supports both constraints regarding the definition of program elements and constraints regarding the use of program elements. Additionally, CoffeeStrainer constraints can consist of static (compile-time) and dynamic (run-time) parts. Static constraints are checked using a program representation which consists of the complete abstract syntax tree together with information obtained by name and type analysis. The system checks compilation units separately; the time taken to check one compilation unit is comparable to the time of compiling the compilation unit. The system has been fully implemented. Unlike other approaches, CoffeeStrainer does not define a special-purpose language for specifying constraints - instead, it uses Java for constraints as well, making it easy for proficient Java programmers to specify constraints. Constraint code is embedded in Javadoc comments. Thus, constraint code and base-level code share the same structure, making it easy to find the rules that apply to a given part of the program, and allowing arbitrary compilers and tools to be applied to the source code that contains constraints.

Table of Contents

Download the whole PhDthesis as a zip-tar file or as zip-File

For download in PDF format click the chapter title

 Title Page / Contents1
1.Introduction13
2.Categories of Constraints19
3.CoffeeStrainer Explained39
4.CoffeeStrainer Virtues and Limitations69
5.Extended Example: Confined Types81
6.Implementation of CoffeeStrainer111
7.Related Work145
8.Conclusions173
 Bibliography177
 Abstract / Index185

More Information:

Online available: http://www.diss.fu-berlin.de/2002/21/indexe.html
Language of PhDThesis: english
Keywords: Programming Constraints, Automatic Checking, Frameworks
DNB-Sachgruppe: 28 Informatik, Datenverarbeitung
Classification CR: D.2.4, D.3.3
Date of disputation: 29-Jun-2000
PhDThesis from: Fachbereich Mathematik u. Informatik, Freie Universität Berlin
First Referee: Prof. Dr. Klaus-Peter Löhr
Second Referee: Prof. Dr. Stefan Jähnichen
Third Referee: Prof. Dr. Theo D'Hondt
Contact (Author): bokowski@acm.org
Contact (Advisor): lohr@inf.fu-berlin.de
Date created:15-Feb-2002
Date available:19-Feb-2002

 


|| DARWIN|| Digitale Dissertationen || Dissertation|| German Version|| FU Berlin|| Seitenanfang ||


Mail-Icon Fragen und Kommentare an:
darwin@inf.fu-berlin.de

© Freie Universität Berlin 1999