@inproceedings{05fc6b6dc45e4071a597d3ca868f92b1,
title = "Reuse or rewrite: Combining textual, static, and dynamic analyses to assess the cost of keeping a system up-to-date",
abstract = "Undocumented software systems are a common challenge for developers performing maintenance and/or reuse. The challenge is two-fold: (1) when no comments or documentation exist, it is difficult for developers to understand how a system works; (2) when no requirements exist, it is difficult to know what the system actually does. We present a method, named ReORe (Reuse or Rewrite) that assists developers in recovering requirements for a competitor system and in deciding if they should reuse parts of their existing system or rewrite it from scratch. Our method requires source code and executable for the system and assumes that requirements are preliminarily recovered. We apply ReORe to Lynx, a Web browser written in C. We provide evidence of ReORe accuracy: 56% for validation based on textual and static analysis and 94% for the final validation using dynamic analysis.",
keywords = "Data mining, Documentation, Dynamic analysis, Feature identification, Maintenance, Requirements, Reuse, Static analysis",
author = "Giuliano Antoniol and Hayes, {Jane Huffman} and Gu{\'e}h{\'e}neuc, {Yann Ga{\"e}l} and {Di Penta}, Massimiliano",
year = "2008",
doi = "10.1109/ICSM.2008.4658063",
language = "English",
isbn = "9781424426140",
series = "IEEE International Conference on Software Maintenance, ICSM",
pages = "147--156",
booktitle = "Proceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008",
note = "24th IEEE International Conference on Software Maintenance, ICSM 2008 ; Conference date: 28-09-2008 Through 04-10-2008",
}