Detecting possibly unimplemented methods in android applications

Masataka Nagura, Hayato Usui, Shingo Takada

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)71-89
Number of pages19
JournalComputer Software
Volume38
Issue number2
DOIs
Publication statusPublished - 2021

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Detecting possibly unimplemented methods in android applications'. Together they form a unique fingerprint.

Cite this