logo of the SSW institute ;)
Computer Science
System Software

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports
Awards

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Talks
Library
Gallery
Links
Search

Webmaster


Deriving Code Coverage Information from Profiling Data Recorded for a Trace-based Just-in-time Compiler

Christian Häubl
Institute for System Software
haeubl@ssw.jku.at

Christian Wimmer
Oracle Labs, USA
christian.wimmer@oracle.com

Hanspeter Mössenböck
Institute for System Software
Christian Doppler Laboratory for Automated Software Engineering
moessenboeck@ssw.uni-linz.ac.at


Abstract

Code coverage information is typically recorded by adding instrumentation to an application before or during execution. However, this has the disadvantage that the instrumentation decreases the performance.

A high-performance virtual machine (VM), such as Oracle's Java HotSpot VM, is already designed to record profiling data for the executed application. This profiling data is intended to guide optimizations during just-in-time (JIT) compilation. In this paper, we propose a runtime system that allows deriving exact code coverage information from this recorded profiling data by guaranteeing certain system properties. With this approach, we avoid the hassle of instrumenting the application explicitly. Therefore, we minimize both the run-time overhead and the implementation effort for recording code coverage information.

We implemented our approach for a variant of the Java HotSpot VM that uses a trace-based JIT compiler. However, our approach is simple and general enough to be applicable to most modern VMs. Our evaluation with industry-strength benchmark suites shows that this approach allows recording code coverage information while retaining almost full peak performance. So, our approach is also suitable for collecting code coverage information in day-to-day operation environments such as long running server applications.


http://dx.doi.org/10.1145/2500828.2500829

Download PDF from ACM