2011Unpublished venueRequires access

Maintaining the Causal Thread of Execution in Distributed and Multilanguage Software

Rik Schutte

Open publisher page 0 citations

Abstract

Runtime verification is a technique used to check the execution trace of a program against specified properties. During the execution of a program, the changes in the state of the program are observed and are verified against the specified properties of the program. We want to apply runtime verification to check sequences of events, which are distributed (they are generated in separate processes, which communicate with each other) and span multiple programming languages. There are currently two E-Chaser versions, which supply separate solutions for multiple language and distributed software. In this thesis we combine these two versions to create a new solution. The solution is given in two parts. The first part of the solution is about the call graph approach, in which we try to generate call graphs of multiple language software. From a call graph we try to deduce structural information. Due to the problems related to combining call graph of different programming languages, a different approach was taken. The second part describes a new verification system design which extends the previous E-Chaser versions. We have created two tools that adapt the source code of a program written in C and Java. We evaluate these tools against testing applications. The thesis is concluded with ideas for optimizing the solution.

About this research paper

What this paper is about

Runtime verification is a technique used to check the execution trace of a program against specified properties. During the execution of a program, the changes in the state of the program are observed and are verified against the specified properties of the program. We want to apply runtime verification to check sequences of events, which are distributed (they are generated in separate processes, which communicate with each other) and span multiple programming languages. There are currently two E-Chaser versions, which supply separate solutions for multiple language and distributed software. In this thesis we combine these two versions to create a new solution. The solution is given in two parts. The first part of the solution is about the call graph approach, in which we try to generate call graphs of multiple language software. From a call graph we try to deduce structural information. Due to the problems related to combining call graph of different programming languages, a different approach was taken. The second part describes a new verification system design which extends the previous E-Chaser versions. We have created two tools that adapt the source code of a program written in C and Java. We evaluate these tools against testing applications. The thesis is concluded with ideas for optimizing the solution.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Runtime verification is a technique used to check the execution trace of a program against specified properties. During the execution of a program, the changes in the state of the program are observed and are verified against the specified properties of the program. We want to apply runtime verification to check sequences of events, which are distributed (they are generated in separate processes, which communicate with each other) and span multiple programming languages. There are currently two E-Chaser versions, which supply separate solutions for multiple language and distributed software. In this thesis we combine these two versions to create a new solution. The solution is given in two parts. The first part of the solution is about the call graph approach, in which we try to generate call graphs of multiple language software. From a call graph we try to deduce structural information. Due to the problems related to combining call graph of different programming languages, a different approach was taken. The second part describes a new verification system design which extends the previous E-Chaser versions. We have created two tools that adapt the source code of a program written in C and Java. We evaluate these tools against testing applications. The thesis is concluded with ideas for optimizing the solution.

Key concepts: Computer science, Programming language, Thread (computing), Java, Graph, Software, Call graph, Theoretical computer science

Related papers

Back to paper searchBrowse research topicsOriginal source
Maintaining the Causal Thread of Execution in Distributed and Multilanguage Software — Research Paper | ScholarLens