Profile-guided program simplification for effective testing and analysis
Abstract
Many testing and analysis techniques have been developed for in-house use. Although they are effective at discovering defects be-fore a program is deployed, these techniques are often limited due to the complexity of real-world code and thus miss program faults. It will be the users of the program who eventually experience fail-ures caused by the undetected faults. To take advantage of the large number of program runs carried by the users, recent work has pro-posed techniques to collect execution profiles from the users for developers to perform post-deployment failure analysis. However, in order to protect users ’ privacy and to reduce run-time overhead, such profiles are usually not detailed enough for the developers to identify or fix the root causes of the failures. In this paper, we propose a novel approach to utilize user execu-tion profiles for more effective in-house testing and analysis. Our