Combining monitoring with run-time assertion checking

Leiden Repository

Combining monitoring with run-time assertion checking

Title: Combining monitoring with run-time assertion checking
Author: Gouw, Stijn de
Publisher: Leiden Institute of Advanced Computer Science (LIACS), Faculty of Science, Leiden University
Issue Date: 2013-12-18
Keywords: Monitoring
Run-time Assertion Checking
Attribute Grammars
Abstract: 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, 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.
Description: Promotor: F.S. de Boer, Co-promotor: M.M. Bonsangue
With summary in Dutch
Faculty: Faculteit der Wiskunde en Natuurwetenschappen
Citation: Gouw, S. de. 2013, Doctoral thesis, Leiden University

Files in this item

Description Size View
application/pdf Full text 1.548Mb View/Open
application/pdf Cover 409.2Kb View/Open
application/pdf Title page_Contents 232.9Kb View/Open
application/pdf Chapter 1 Introduction 298.9Kb View/Open
application/pdf Chapter 2 286.9Kb View/Open
application/pdf Chapter 3 347.0Kb View/Open
application/pdf Chapter 4 424.6Kb View/Open
application/pdf Chapter 5 532.8Kb View/Open
application/pdf Chapter 6 484.2Kb View/Open
application/pdf Chapter 7 245.4Kb View/Open
application/pdf A Input and output of SAGA 154.1Kb View/Open
application/pdf Summary in Dutch 165.1Kb View/Open
application/pdf Curriculum Vitae 112.6Kb View/Open
application/pdf Bibliography 180.6Kb View/Open
application/pdf List of figures_List of tables 201.1Kb View/Open
application/pdf Propositions 60.87Kb View/Open

This item appears in the following Collection(s)