Title :
Studying application-library interaction and behavior with LibTrac
Author :
Bisolfati, Eric ; Marinescu, Paul ; Candea, George
Author_Institution :
Sch. of Comput. & Commun. Sci., Ecole Polytech. Fed. de Lausanne (EPFL), Lausanne, Switzerland
fDate :
June 28 2010-July 1 2010
Abstract :
LibTrac is a tool for studying the program/library boundary and answering questions like: Which library functions are called most often ? Are there library usage patterns that distinguish one class of applications from the others? Do programs generally retry failed I/O calls or not? The answers to these questions are essential to anyone employing library-level fault injection in software testing. On the one hand, the program-library boundary is an appealing location for injecting faults, because the cost of doing so is low, and one can emulate a wide range of realworld failures. On the other hand, developers must decide a priori which library calls to fail, when, and in what way. The space of possibilities is vast, so developers need tools like LibTrac to make informed choices for test scenarios. We used LibTrac to study 13 real-world systems; we report here some of the results. Compared to existing library tracers, LibTrac incurs one to two orders of magnitude less overhead, thus offering considerably more realistic study conditions.
Keywords :
program diagnostics; program testing; software libraries; LibTrac; application-library interaction; library tracers; library-level fault injection; program-library boundary; software testing; Application software; Computer interfaces; Computer networks; Costs; Linux; Runtime; Software libraries; Software testing; Statistics; System testing;
Conference_Titel :
Dependable Systems and Networks (DSN), 2010 IEEE/IFIP International Conference on
Conference_Location :
Chicago, IL
Print_ISBN :
978-1-4244-7500-1
Electronic_ISBN :
978-1-4244-7499-8
DOI :
10.1109/DSN.2010.5544267