Document Type: Article
Sharif University of Technology
In software programs, most of the time, there is a chance of faults in general, and exception faults in particular. Localizing those pieces of code which are responsible for a particular fault is one of the most complicated tasks and it can make incorrect results if done manually. Semi-automated and fully-automated techniques have been introduced to overcome this issue. However, despite recent advances in fault localization techniques, they are not necessarily applicable to Android applications because of their special characteristics like context-awareness, use of sensors, being executable on various mobile devices, limited hardware resources, and so on. To this aim, in this paper, we introduce a semi-automated hybrid method that combines static and dynamic analysis to localize exception faults in Android applications. Our evaluations with a number of open source Android applications of different sizes with various exceptions show that our proposed technique can correctly identify the root causes of occurred exceptions. These results indicate that our proposed approach is effective in practice in localizing exception faults in Android applications.