Reducing Instrumentation Overhead when Reverse-Engineering Object Interactions

Public Deposited
Resource Type
  • Reverse-engineering object interactions from source
    code can be done through static, dynamic, or hybrid (static plus
    dynamic) analyses. In the latter two, monitoring a program and
    collecting runtime information translates into some overhead
    during program execution. Depending on the type of application,
    the imposed overhead can reduce the precision and accuracy of
    the reverse-engineered object interactions (the larger the overhead
    the less precise or accurate the reverse-engineered interactions),
    to such an extent that the reverse-engineered interactions
    may not be correct, especially when reverse-engineering a multithreaded
    software system. One is therefore seeking an instrumentation
    strategy as less intrusive as possible. In our past work, we
    showed that a hybrid approach is one step towards such a solution,
    compared to a purely dynamic approach, and that there is
    room for improvements. In this paper, we uncover, in a systematic
    way, other aspects of the dynamic analysis that can be improved
    to further reduce runtime overhead, and study alternative
    solutions. Our experiments show effective overhead reduction
    thanks to a modified procedure to collect runtime information.

  • Mehrfard, H. (Hossein), & Labiche, Y. (2015). Reducing Instrumentation Overhead when Reverse-Engineering Object Interactions. SCE Technical Reports. Department of Systems and Computer Engineering.
Date Created
  • 2015-11-01


In Collection: