Android applications are event driven. Developers implement event handlers by inheriting and then coding callback methods that are defined in the Android API. If developers forget to implement relevant callback methods, the application may behave in an unexpected manner. In this paper, we propose an approach that detects methods that are currently unimplemented, but should be implemented. Detected methods are shown to developers for their consideration. We focus on callback methods that are frequently imple-mented, as well as pairs of methods that are frequently implemented together. Our approach first extracts such methods, method pairs and their frequencies from existing projects. Then, the extracted information is used to detect methods that are unimplemented but should be implemented, which are then shown to the developers. We implemented our approach as a plug-in for Android Studio. Our evaluation showed that our approach was able to detect more than half of the unimplemented methods that should be implemented within the top 15% of all unimplemented callback methods.
ASJC Scopus subject areas