Detecting race conditions in Java programs using dynamic analysis
This article presents a dynamic analysis approach to automatic detection of race conditions in multi-threaded Java applications. We use static Java byte-code instrumentation framework Coffee Machine to avoid additional dynamic instrumentation overhead ...
M. . Ermakov, S. . Vartanov
doaj +1 more source
Amortised Resource Analysis with Separation Logic [PDF]
Type-based amortised resource analysis following Hofmann and Jost---where resources are associated with individual elements of data structures and doled out to the programmer under a linear typing discipline---have been successful in providing concrete ...
Robert Atkey
doaj +1 more source
Static Call Graph Combination to Simulate Dynamic Call Graph Behavior
Call graphs are fundamental for many higher-level code analyses. The selection of the most appropriate call graph construction tool for an analysis is not always straightforward and depends on the purpose of the results’ further usage.
Zoltan Sagodi +4 more
doaj +1 more source
Experience with statically-generated proxies for facilitating Java runtime specialisation [PDF]
Issues pertaining to mechanisms which can be used to change the behaviour of Java classes at runtime are discussed. The proxy mechanism is compared to, and contrasted with other standard approaches to this problem.
Chiba +15 more
core +1 more source
Reverse Execution of Java Bytecode [PDF]
Summary: We demonstrate a model, including operational semantics, for the reverse execution of stack-based code. We discuss our modification of the Kaffe implementation of the Java virtual machine, supporting a debugger capable of running Java bytecode backwards.
openaire +2 more sources
Refactoring Java Programs for Customizable Locks Based on Bytecode Transformation
Developers of parallel programming are faced with choices of using various Java locks. Choosing the best lock is a challenging task because a multithreaded application implemented using different locks may end up with uncertain performance.
Yang Zhang +5 more
doaj +1 more source
Selected tools for Java class and bytecode inspection in the educational environment
Java is not only a modern, powerful, and frequently used programming language, but together with Java Virtual Machine it represents a novel dynamic approach of writing and executing computer programs.
Dobravec Tomaž
doaj +1 more source
Improving Scalability of Java Archive Search Engine through Recursion Conversion And Multithreading
Based on the fact that bytecode always exists on Java archive, a bytecode based Java archive search engine had been developed [1, 2]. Although this system is quite effective, it still lack of scalability since many modules apply recursive calls and this ...
Oscar Karnalim
doaj +1 more source
Verifying Temporal Regular Properties of Abstractions of Term Rewriting Systems [PDF]
The tree automaton completion is an algorithm used for proving safety properties of systems that can be modeled by a term rewriting system. This representation and verification technique works well for proving properties of infinite systems like ...
Benoît Boyer, Thomas Genet
doaj +1 more source
Termination and Cost Analysis with COSTA and its User Interfaces [PDF]
COSTA is a static analyzer for Java bytecode which is able to infer cost and termination information for large classes of programs. The analyzer takes as input a program and a resource of interest, in the form of a cost model, and aims at obtaining an ...
Albert Albiol, Elvira +7 more
core +2 more sources

