Compact Traceable Logging

I. S. W. B. Prasetya, Ales Sturala, Arie Middelkoop, Jurriaan Hage, Alexander B. Elyasov

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)


Logging is a commonly employed technique to gather information about the dynamic behaviour of a program. The resulting logs can be analysed to derive statistics, infer models, to diagnose failures, and used for testing. Balancing the cost of logging (in terms of I/O time and disk usage) and the benefits of increasing logging details is a challenging task. In this paper, we present a source code transformation scheme that converts the given program with ordinary logging to enhance it with tracing information, and at the same time significantly reduces the size of the generated logs by applying a form of binary encoding. Decoders are generated to interpret the logs and establish how the executions that produced them flowed through relevant decision branches in the program. This is a very useful property when we use the logs for error diagnosis. This paper describes the transformation for sizeable subset of sequential Java, including its complicated control structures. As a proof of concept, we have implemented a prototype.
Original languageEnglish
Title of host publicationVALID 2013: The Fifth International Conference on Advances in System Testing and Validation Lifecycle
EditorsJ. VanRooyen
Number of pages11
ISBN (Print)9781612083070
Publication statusPublished - 2013


Dive into the research topics of 'Compact Traceable Logging'. Together they form a unique fingerprint.

Cite this