kirancodes.me
To Proof Maintenance & Beyond!

ARCC: assistant for repetitive code comprehension

Wilberto Z. Nunez, Victor J. Marin, Carlos R. Rivero

Abstract

As software projects evolve, carefully understanding the behavior of a program is mandatory before making any change. Repetitive code snippets also tend to appear throughout the codebase, and developers have to understand similar semantics multiple times. Building on this observation, we present Arcc: an Assistant for Repetitive Code Comprehension. The tool, implemented as an Eclipse plugin, assists developers in leveraging knowledge of a program to understand other programs containing a subset of the semantics in the former. Arcc differs from existing approaches in that it uses an extensible knowledge base of recurrent semantic code snippets, instead of heuristics or salient features, to summarize the behavior of a program. Given a program, we detect the occurrences of such snippets. Developers can create strategies as combinations of the snippets found and search for strategy occurrences in their workspace. Arcc highlights the source code related to every snippet and their interleaving, assisting in getting an intuition of similar programs. Finally, Arcc underlines potential common errors associated with the snippets, assisting in detecting overlooked problems. https://youtube.com/playlist?list=PLmizZtBESdPHDyKXKHMXj13r2pBCKzIoA

BibTeX
@inproceedings{Nunez-al:FSE17,
  author    = {Wilberto Z. Nunez and
               Victor J. Marin and
               Carlos R. Rivero},
  title     = {{ARCC:} assistant for repetitive code comprehension},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {999--1003},
  publisher = {{ACM}},
  year      = {2017},
}

Related papers