Title of article
Stratified sampling of execution traces: Execution phases serving as strata
Author/Authors
Heidar Pirzadeh، نويسنده , , Sara Shanian، نويسنده , , Abdelwahab Hamou-Lhadj، نويسنده , , Luay Alawneh، نويسنده , , Arya Shafiee، نويسنده ,
Issue Information
ماهنامه با شماره پیاپی سال 2013
Pages
20
From page
1099
To page
1118
Abstract
The understanding of the behavioral aspects of a software system is an important enabler for many reverse engineering activities. The behavior of software is typically represented in the form of execution traces. Traces, however, can be overwhelmingly large. To reduce their size, sampling techniques, especially the ones based on random sampling, have been extensively used. Random sampling, however, may result in samples that are not representative of the original trace. In this paper, we propose a trace sampling technique that not only reduces the size of a trace but also results in a sample that is representative of the original trace by ensuring that the desired characteristics of an execution are distributed similarly in both the sampled and the original trace. Hence, the insights gained from analyzing the sample trace could be extrapolated to the original execution trace. Our approach is based on stratified sampling instead of random sampling and uses the concept of execution phases as strata. We define an execution phase as a part of a trace that represents a specific task of the traced system. We also present an approach for the automatic detection of execution phases from a trace. Finally, we show the effectiveness of our sampling technique through two case studies.
Keywords
Program comprehension , Sampling techniques , Stratified sampling , Execution phases , trace analysis
Journal title
Science of Computer Programming
Serial Year
2013
Journal title
Science of Computer Programming
Record number
1080376
Link To Document