kirancodes.me
To Proof Maintenance & Beyond!

Detecting and characterizing semantic inconsistencies in ported code

Baishakhi Ray, Miryung Kim, Suzette Person, Neha Rungta

Abstract

Abstract—Adding similar features and bug fixes often requires porting program patches from reference implementations and adapting them to target implementations. Porting errors may result from faulty adaptations or inconsistent updates. This paper investigates (1) the types of porting errors found in practice, and (2) how to detect and characterize potential porting errors. Analyzing version histories, we define five categories of porting errors, including incorrect control- and data-flow, code redun-dancy, inconsistent identifier renamings, etc. Leveraging this categorization, we design a static control- and data-dependence analysis technique, SPA, to detect and characterize porting inconsistencies. Our evaluation on code from four open-source projects shows that SPA can detect porting inconsistencies with 65 % to 73 % precision and 90 % recall, and identify inconsistency

BibTeX
@inproceedings{Ray-al:ASE13,
  author    = {Baishakhi Ray and
               Miryung Kim and
               Suzette Person and
               Neha Rungta},
  title     = {Detecting and characterizing semantic inconsistencies in ported code},
  booktitle = {ASE},
  pages     = {367--377},
  publisher = {{IEEE}},
  year      = {2013},
}

Related papers