Efficient Call Path Detection for Android-OS Size of Huge Source Code

Research paper by Koji Yamamoto, Taka Matsutsuka

Indexed on: 11 Feb '16Published on: 11 Feb '16Published in: Computer Science - Data Structures and Algorithms


Today most developers utilize source code written by other parties. Because the code is modified frequently, the developers need to grasp the impact of the modification repeatedly. A call graph and especially its special type, a call path, help the developers comprehend the modification. Source code written by other parties, however, becomes too huge to be held in memory in the form of parsed data for a call graph or path. This paper offers a bidirectional search algorithm for a call graph of too huge amount of source code to store all parse results of the code in memory. It refers to a method definition in source code corresponding to the visited node in the call graph. The significant feature of the algorithm is the referenced information is used not in order to select a prioritized node to visit next but in order to select a node to postpone visiting. It reduces path extraction time by 8% for a case in which ordinary path search algorithms do not reduce the time.