Publication

Studying Application–Library Interaction and Behavior with LibTrac

Abstract

The boundary between programs and libraries is an appealing location for injecting faults during testing: the cost of doing so is low, and one can emulate a wide range of errors. Several tools exist, but using them faces the challenge of deciding exactly which library calls to fail, when, and in what way. The space of possibilities is vast, and the choice of injection scenario can substantially influence test effectiveness. We present LibTrac, a tool for studying the program/library boundary for the purpose of choosing fault injection scenarios. LibTrac can answer questions like: What classes of library functions does a program use? How does the program behave when these calls fail? Are there usage patterns that are more common than others? Unlike similar tools (like ltrace), LibTrac is lightweight and does not influence the behavior of the studied program. We expect LibTrac to be useful to anyone who is considering incorporating library-level fault injection in their software testing strategy. To illustrate LibTrac's effectiveness, we report the results of studying 13 real-world systems with LibTrac.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.