TY - JOUR
T1 - Detecting possibly unimplemented methods in android applications
AU - Nagura, Masataka
AU - Usui, Hayato
AU - Takada, Shingo
N1 - Publisher Copyright:
© 2021 Japan Society for Software Science and Technology. All rights reserved.
PY - 2021
Y1 - 2021
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85109681990&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85109681990&partnerID=8YFLogxK
U2 - 10.11309/jssst.38.2_71
DO - 10.11309/jssst.38.2_71
M3 - Article
AN - SCOPUS:85109681990
SN - 0289-6540
VL - 38
SP - 71
EP - 89
JO - Computer Software
JF - Computer Software
IS - 2
ER -