Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
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.
Christina Fragouli, Suhas Diggavi, Pavlos Nikolopoulos
Mathias Josef Payer, Flavio Toffalini, Han Zheng