抄録
We present a development support tool, called LogChamber, which infers source-code locations by analyzing run-time logs of mobile applications. During development, developers insert log functions into applications calls in order to confirm that the applications correctly run as expected. After that, they need to have a process for estimating a program's runtime behavior in order to identify the locations of unintended behavior. Such processes rely on the abilities of the developers and are not easy in many cases. Most runtime environments of mobile applications provide only limited resources, and as a result, cannot save sufficiently many runtime logs. The situation is made even worse by careless insertions of log-function calls. The method presented in this paper analyzes static source code and runtime logs. After that, it supports developers by quickly inferring candidates of log function calls. For fast inference of candidates, it extracts log strings from the source code and constructs an index of their locations in advance. We implemented our method as a plugin tool on Android Studio, one of the major integrated development environments for Android applications. We report our experiments with the implementation on real open-source applications.