Documents
-
- Download
- Title page_Contents
- open access
-
- Download
- Chapter 1 Introduction
- open access
-
- Download
- A Input and output of SAGA
- open access
-
- Download
- Summary in Dutch
- open access
-
- Download
- Curriculum Vitae
- open access
-
- Download
- Bibliography
- open access
-
- Download
- List of figures_List of tables
- open access
-
- Download
- Propositions
- open access
In Collections
This item can be found in the following collections:
Combining Monitoring with Run-time Assertion Checking
We develop a new technique for Run-time Checking for two object-oriented languages: Java and the Abstract Behavioral Specification language ABS. In object-oriented languages, objects communicate by sending each other messages. Assuming encapsulation, the behavior of objects is completely determined by the order of the messages, and their content. Traditional methods for Run-time Checking focus either exclusively on the description and testing of the order of the messages (Monitoring), or they focus on specifying and testing the content of those messages (Run-time Assertion Checking). Our method combines Monitoring with Run-time Assertion Checking.The basic idea behind our technique is that the behavior of objects can be described formally by means of an attribute grammar extended with assertions. The underlying (context-free) grammar specifies the valid orderings of the messages, the attributes define properties of the contents of the messages,...
Show moreWe develop a new technique for Run-time Checking for two object-oriented languages: Java and the Abstract Behavioral Specification language ABS. In object-oriented languages, objects communicate by sending each other messages. Assuming encapsulation, the behavior of objects is completely determined by the order of the messages, and their content. Traditional methods for Run-time Checking focus either exclusively on the description and testing of the order of the messages (Monitoring), or they focus on specifying and testing the content of those messages (Run-time Assertion Checking). Our method combines Monitoring with Run-time Assertion Checking.The basic idea behind our technique is that the behavior of objects can be described formally by means of an attribute grammar extended with assertions. The underlying (context-free) grammar specifies the valid orderings of the messages, the attributes define properties of the contents of the messages, and assertions specify the desired values of those properties. We develop a new Run-time Checker for attribute grammars in the form of a meta-program in the language Rascal and applied the Run-time Checker to an industrial case of the e-commerce company Fredhopper. We also investigated the efficiency of the run-time checker, and successfully discovered and solved several bugs in the Fredhopper software.
Show less- All authors
- Gouw, C.P.T. de
- Supervisor
- Boer, F.S. de
- Co-supervisor
- Bonsangue, M.M.
- Qualification
- Doctor (dr.)
- Awarding Institution
- Leiden Institute of Advanced Computer Science (LIACS), Faculty of Sciences, Leiden University
- Date
- 2013-12-18