SAIFU: Supporting Program Understanding by Automatic Indexing of Functionalities in Source Code

Programs in the event-driven style that are typical of mobile and/or Web applications are becoming complex and hard to maintain. For the purpose of reducing the burden put on software developers while reading source code to understand its details, we propose a tool for supporting program understandi...

Full description

Bibliographic Details
Main Authors: Masashi Nishimoto, Keiji Nishiyama, Hideyuki Kawabata, Tetsuo Hironaka
Format: Article
Language:English
Published: Springer 2019-09-01
Series:International Journal of Networked and Distributed Computing (IJNDC)
Subjects:
Online Access:https://www.atlantis-press.com/article/125918015/view
_version_ 1828044958046617600
author Masashi Nishimoto
Keiji Nishiyama
Hideyuki Kawabata
Tetsuo Hironaka
author_facet Masashi Nishimoto
Keiji Nishiyama
Hideyuki Kawabata
Tetsuo Hironaka
author_sort Masashi Nishimoto
collection DOAJ
description Programs in the event-driven style that are typical of mobile and/or Web applications are becoming complex and hard to maintain. For the purpose of reducing the burden put on software developers while reading source code to understand its details, we propose a tool for supporting program understanding, named SAIFU (a tool for Supporting program understanding by Automatic Indexing of Functionalities). SAIFU automatically extracts implemented functionalities from source code and puts annotations to them. SAIFU helps the user grasp the behavior and the structure of a whole program by showing a list of the annotations of functionalities. SAIFU highlights a set of statements of the source code that are related to any functionality on the annotation list so that the user can investigate the implementation details of a particular functionality. Experimental results obtained by applying SAIFU to 16 applications in Google Samples confirm that the tool is effective for finding out important statements from existing Android application programs.
first_indexed 2024-04-10T18:03:38Z
format Article
id doaj.art-4053708b133c48f287c02170af39c91b
institution Directory Open Access Journal
issn 2211-7946
language English
last_indexed 2024-04-10T18:03:38Z
publishDate 2019-09-01
publisher Springer
record_format Article
series International Journal of Networked and Distributed Computing (IJNDC)
spelling doaj.art-4053708b133c48f287c02170af39c91b2023-02-02T14:20:53ZengSpringerInternational Journal of Networked and Distributed Computing (IJNDC)2211-79462019-09-017410.2991/ijndc.k.190917.002SAIFU: Supporting Program Understanding by Automatic Indexing of Functionalities in Source CodeMasashi NishimotoKeiji NishiyamaHideyuki KawabataTetsuo HironakaPrograms in the event-driven style that are typical of mobile and/or Web applications are becoming complex and hard to maintain. For the purpose of reducing the burden put on software developers while reading source code to understand its details, we propose a tool for supporting program understanding, named SAIFU (a tool for Supporting program understanding by Automatic Indexing of Functionalities). SAIFU automatically extracts implemented functionalities from source code and puts annotations to them. SAIFU helps the user grasp the behavior and the structure of a whole program by showing a list of the annotations of functionalities. SAIFU highlights a set of statements of the source code that are related to any functionality on the annotation list so that the user can investigate the implementation details of a particular functionality. Experimental results obtained by applying SAIFU to 16 applications in Google Samples confirm that the tool is effective for finding out important statements from existing Android application programs.https://www.atlantis-press.com/article/125918015/viewProgram understandingdataflow graphtag cloudevent-driven programming
spellingShingle Masashi Nishimoto
Keiji Nishiyama
Hideyuki Kawabata
Tetsuo Hironaka
SAIFU: Supporting Program Understanding by Automatic Indexing of Functionalities in Source Code
International Journal of Networked and Distributed Computing (IJNDC)
Program understanding
dataflow graph
tag cloud
event-driven programming
title SAIFU: Supporting Program Understanding by Automatic Indexing of Functionalities in Source Code
title_full SAIFU: Supporting Program Understanding by Automatic Indexing of Functionalities in Source Code
title_fullStr SAIFU: Supporting Program Understanding by Automatic Indexing of Functionalities in Source Code
title_full_unstemmed SAIFU: Supporting Program Understanding by Automatic Indexing of Functionalities in Source Code
title_short SAIFU: Supporting Program Understanding by Automatic Indexing of Functionalities in Source Code
title_sort saifu supporting program understanding by automatic indexing of functionalities in source code
topic Program understanding
dataflow graph
tag cloud
event-driven programming
url https://www.atlantis-press.com/article/125918015/view
work_keys_str_mv AT masashinishimoto saifusupportingprogramunderstandingbyautomaticindexingoffunctionalitiesinsourcecode
AT keijinishiyama saifusupportingprogramunderstandingbyautomaticindexingoffunctionalitiesinsourcecode
AT hideyukikawabata saifusupportingprogramunderstandingbyautomaticindexingoffunctionalitiesinsourcecode
AT tetsuohironaka saifusupportingprogramunderstandingbyautomaticindexingoffunctionalitiesinsourcecode