Title :
Maintaining Fine-Grained Code Metadata Regardless of Moving, Copying and Merging
Author :
Prause, Christian R.
Author_Institution :
Schloss Birlinghoven, Fraunhofer FIT, St. Augustin, Germany
Abstract :
Source code metadata on a file-level granularity is too coarse for certain applications. But fine-grained metadata (e.g. line-by-line authorship) easily gets lost due to changes like merging, moving or copying code. Enabling metadata to survive code evolution provides valuable insights into program source code. This helps developers to understand the sources and opens up opportunities for advanced tools. We present a concept that utilizes different search heuristics to identify probable ancestors of source documents, and pair this with clone detection to locate origins of inserted code. Arbitrary kinds of metadata can then be linked to code sections and be preserved automatically while code evolves. We evaluate our approach using code from the Hydra and FreeCol projects, and sketch prospective applications.
Keywords :
meta data; programming; FreeCol project; Hydra project; code evolution; file-level granularity; fine grained code metadata; fine-grained metadata; program source code; search heuristics; sketch prospective application; source code metadata; source documents; Cloning; Collaboration; Databases; History; Merging; Nearest neighbor searches; Open source software; Testing; clone detection; code evolution; code metadata; code ownership; document similarity;
Conference_Titel :
Source Code Analysis and Manipulation, 2009. SCAM '09. Ninth IEEE International Working Conference on
Conference_Location :
Edmonton, AB
Print_ISBN :
978-0-7695-3793-1
DOI :
10.1109/SCAM.2009.20