Title :
Reuse or rewrite: Combining textual, static, and dynamic analyses to assess the cost of keeping a system up-to-date
Author :
Antoniol, Giuliano ; Hayes, Jane Huffman ; Guéhéneuc, Yann-Gaël ; Di Penta, Massimiliano
Author_Institution :
Dept. de Genie Inf., Ecole Polytech. de Montreal, Montreal, QC
fDate :
Sept. 28 2008-Oct. 4 2008
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 :
software maintenance; software reusability; dynamic analyses; software maintenance; software reuse; source code; static analyses; textual analyses; undocumented software systems; Application software; Costs; Documentation; Information retrieval; Open source software; Optimization methods; Resource management; Software development management; Software maintenance; Software systems; Maintenance; data mining; documentation; dynamic analysis; feature identification; requirements; reuse; static analysis;
Conference_Titel :
Software Maintenance, 2008. ICSM 2008. IEEE International Conference on
Conference_Location :
Beijing
Print_ISBN :
978-1-4244-2613-3
Electronic_ISBN :
1063-6773
DOI :
10.1109/ICSM.2008.4658063