Reuse or Rewrite: Combining Textual, Static, and Dynamic Analyses to Assess the Cost of Keeping a System Up-to-date. Antoniol, G., Hayes, J. H., Gu�h�neuc, Y., & Di Penta, M. In Mei, H. & Wong, K., editors, Proceedings of the 24<sup>th</sup> International Conference on Software Maintenance (ICSM), pages 147–156, September–October, 2008. IEEE CS Press. 10 pages.
Paper abstract bibtex 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\NOfor validation based on textual and static analysis and 94\NOfor the final validation using dynamic analysis.
@INPROCEEDINGS{Antoniol08-ICSM-ReORe,
AUTHOR = {Giuliano Antoniol and Jane Huffman Hayes and
Yann-Ga�l Gu�h�neuc and Di Penta, Massimiliano},
BOOKTITLE = {Proceedings of the 24<sup>th</sup> International Conference on Software Maintenance (ICSM)},
TITLE = {Reuse or Rewrite: Combining Textual, Static, and Dynamic
Analyses to Assess the Cost of Keeping a System Up-to-date},
YEAR = {2008},
OPTADDRESS = {},
OPTCROSSREF = {},
EDITOR = {Hong Mei and Kenny Wong},
MONTH = {September--October},
NOTE = {10 pages.},
OPTNUMBER = {},
OPTORGANIZATION = {},
PAGES = {147--156},
PUBLISHER = {IEEE CS Press},
OPTSERIES = {},
OPTVOLUME = {},
KEYWORDS = {Topic: <b>Requirements and features</b>,
Venue: <c>ICSM</c>, Venue: <c>ICSME</c>},
URL = {http://www.ptidej.net/publications/documents/ICSM08a.doc.pdf},
PDF = {http://www.ptidej.net/publications/documents/ICSM08a.ppt.pdf},
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\NOfor
validation based on textual and static analysis and 94\NOfor the
final validation using dynamic analysis.}
}
Downloads: 0
{"_id":"rofpQ4uNYaL857BdN","bibbaseid":"antoniol-hayes-guhneuc-dipenta-reuseorrewritecombiningtextualstaticanddynamicanalysestoassessthecostofkeepingasystemuptodate-2008","downloads":0,"creationDate":"2018-01-17T20:29:42.508Z","title":"Reuse or Rewrite: Combining Textual, Static, and Dynamic Analyses to Assess the Cost of Keeping a System Up-to-date","author_short":["Antoniol, G.","Hayes, J. H.","Gu�h�neuc, Y.","Di Penta, M."],"year":2008,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Giuliano"],"propositions":[],"lastnames":["Antoniol"],"suffixes":[]},{"firstnames":["Jane","Huffman"],"propositions":[],"lastnames":["Hayes"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]},{"propositions":[],"lastnames":["Di","Penta"],"firstnames":["Massimiliano"],"suffixes":[]}],"booktitle":"Proceedings of the 24<sup>th</sup> International Conference on Software Maintenance (ICSM)","title":"Reuse or Rewrite: Combining Textual, Static, and Dynamic Analyses to Assess the Cost of Keeping a System Up-to-date","year":"2008","optaddress":"","optcrossref":"","editor":[{"firstnames":["Hong"],"propositions":[],"lastnames":["Mei"],"suffixes":[]},{"firstnames":["Kenny"],"propositions":[],"lastnames":["Wong"],"suffixes":[]}],"month":"September–October","note":"10 pages.","optnumber":"","optorganization":"","pages":"147–156","publisher":"IEEE CS Press","optseries":"","optvolume":"","keywords":"Topic: <b>Requirements and features</b>, Venue: <c>ICSM</c>, Venue: <c>ICSME</c>","url":"http://www.ptidej.net/publications/documents/ICSM08a.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/ICSM08a.ppt.pdf","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\\NOfor validation based on textual and static analysis and 94\\NOfor the final validation using dynamic analysis.","bibtex":"@INPROCEEDINGS{Antoniol08-ICSM-ReORe,\r\n AUTHOR = {Giuliano Antoniol and Jane Huffman Hayes and \r\n Yann-Ga�l Gu�h�neuc and Di Penta, Massimiliano},\r\n BOOKTITLE = {Proceedings of the 24<sup>th</sup> International Conference on Software Maintenance (ICSM)},\r\n TITLE = {Reuse or Rewrite: Combining Textual, Static, and Dynamic \r\n Analyses to Assess the Cost of Keeping a System Up-to-date},\r\n YEAR = {2008},\r\n OPTADDRESS = {},\r\n OPTCROSSREF = {},\r\n EDITOR = {Hong Mei and Kenny Wong},\r\n MONTH = {September--October},\r\n NOTE = {10 pages.},\r\n OPTNUMBER = {},\r\n OPTORGANIZATION = {},\r\n PAGES = {147--156},\r\n PUBLISHER = {IEEE CS Press},\r\n OPTSERIES = {},\r\n OPTVOLUME = {},\r\n KEYWORDS = {Topic: <b>Requirements and features</b>, \r\n Venue: <c>ICSM</c>, Venue: <c>ICSME</c>},\r\n URL = {http://www.ptidej.net/publications/documents/ICSM08a.doc.pdf},\r\n PDF = {http://www.ptidej.net/publications/documents/ICSM08a.ppt.pdf},\r\n ABSTRACT = {Undocumented software systems are a common challenge for \r\n developers performing maintenance and/or reuse. The challenge is \r\n two-fold: (1) when no comments or documentation exist, it is \r\n difficult for developers to understand how a system works; (2) when \r\n no requirements exist, it is difficult to know what the system \r\n actually does. We present a method, named ReORe (Reuse or Rewrite) \r\n that assists developers in recovering requirements for a competitor \r\n system and in deciding if they should reuse parts of their existing \r\n system or rewrite it from scratch. Our method requires source code \r\n and executable for the system and assumes that requirements are \r\n preliminarily recovered. We apply ReORe to Lynx, a Web browser \r\n written in C. We provide evidence of ReORe accuracy: 56\\NOfor \r\n validation based on textual and static analysis and 94\\NOfor the \r\n final validation using dynamic analysis.}\r\n}\r\n\r\n","author_short":["Antoniol, G.","Hayes, J. H.","Gu�h�neuc, Y.","Di Penta, M."],"editor_short":["Mei, H.","Wong, K."],"key":"Antoniol08-ICSM-ReORe","id":"Antoniol08-ICSM-ReORe","bibbaseid":"antoniol-hayes-guhneuc-dipenta-reuseorrewritecombiningtextualstaticanddynamicanalysestoassessthecostofkeepingasystemuptodate-2008","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/ICSM08a.doc.pdf"},"keyword":["Topic: <b>Requirements and features</b>","Venue: <c>ICSM</c>","Venue: <c>ICSME</c>"],"metadata":{"authorlinks":{"gu�h�neuc, y":"https://bibbase.org/show?bib=http%3A%2F%2Fwww.yann-gael.gueheneuc.net%2FWork%2FPublications%2FBiblio%2Fcomplete-bibliography.bib&msg=embed","guéhéneuc, y":"https://bibbase.org/show?bib=http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene%20(automatically%20cleaned).bib"}},"downloads":0},"search_terms":["reuse","rewrite","combining","textual","static","dynamic","analyses","assess","cost","keeping","system","date","antoniol","hayes","gu�h�neuc","di penta"],"keywords":["topic: <b>requirements and features</b>","venue: <c>icsm</c>","venue: <c>icsme</c>"],"authorIDs":["2tFXMaTSHJKEB5ebi","2wY5eBcsYmbPNfmMS","36dm7jaw5EK5Wrr4D","3NxaNKic3nkXi568L","3S5Dkpx7DNefzJrnf","3afmfmoPr4SHa8B5F","3wmHB7JoQbQz2ujun","4YBWWbao6RKgiyGJE","4jZj9tB4SJ8zEEgHk","5CvA2hsaib2bPMaef","5TFJbxqRDGFj2P8Rg","5a5fb236a39f2c3645000032","5a8f17e006df23bc34000020","5cx79LBmaWcihgM4J","5de9a6425b51bcde01000042","5dee1197584fb4df010000fc","5df228a41e4fe9df0100012c","5df617f72b34d0de0100008b","5dfa14782e791dde010000ea","5dfe3d5e68d95dde01000080","5e02525b6ffa15df0100009f","5e0662c07da1d1de0100021a","5e093e8b934cacdf0100008b","5e0a61673eccf6e001000016","5e0b75b7e73cd6de010000f9","5e0d4ca6ae5827df0100007f","5e0ddf08552b25df01000137","5e0e5c41ac7d11df010000a3","5e1268e7a4cabfdf0100002c","5e12c45a70e2c4f201000043","5e157809f1f31adf01000006","5e162ca1df1bb4de01000123","5e185cff809b84f201000091","5e1a6c39b16ec5df0100000f","5e21b27e96aea7de01000084","5e22c57e49e2b4df0100000f","5e23c2aeb93b51de01000030","5e245835079bb2df0100007d","5e24fa3e2e79a1f201000027","5e26252f408641df01000161","5e26bfbd8535cedf0100005c","5e280fd1f860fcde0100006a","5e2a827f881468de01000080","5e2eb321b84405df01000128","5e2ef635e374eede0100001a","5e2fd6a74e91a9df01000010","5e3266bb5633c9de01000068","5e32ab0ee17accde0100012a","5e32bdec466076df010000d9","5e32d603150c84df01000068","5e34fb145978bef2010000a6","5e36bc8e7b975dde0100009a","5e389940030bcadf010001b4","5e39dd9a3687dddf010000a4","5e3ad173f2a00cdf01000206","5e3dcd50d51253de0100003d","5e3e8713666d79df010000a6","5e3ed80986a596de010000b9","5e3fefe1add5fbde01000087","5e409c79d668c6de010000c7","5e41795ed9f47bee01000194","5e41cd5be7c67ade010000eb","5e42ef1ca6f4a6f2010001eb","5e46dcb342fb31df01000113","5e46f12c461d04f201000078","5e478c9e27a0c8de010000ef","5e47fb06385298df010000b2","5e4add1941072bdf01000011","5e4c1c792dc400de0100011a","5e4c6262271596df010001b9","5e4f0360338acfde01000156","5e4f11b0e5389bde0100007e","5e530b976d68b8df010000a5","5e54ad6d929495df0100007c","5e57161b429006de0100005a","5e57839fcef9b7de0100003c","5e580f5a6a456fde0100004f","5e5afa78038583de010000f7","5e5b477174a3e7df010000b7","5e5d370173eb2edf01000038","5e5fca336b32b0f20100011b","5e60e7f0839e59df010000e8","5e6377cfae1c4dde0100011e","5e657007de41b9df0100017a","5e676f0910be53de0100001a","5gPbX6aQJFjpv2Na9","6eE2yRdMDQr2WGXuA","6iHE5tuM7yTfLd2pA","7BPWyvMr5e6bzbk7T","7RFwhpGkpZRsLwnmB","7amRA4ALcR2mksheF","7mkQL8eiftj5bGMzB","8jPjKehCMsj7ncvxN","8peLXfWtCSic5n7oz","95eRgTcabnJwF46f3","9Ba9JxkjQBCeGBZKg","9DjgvzQrx27uxbyJj","9HD56d3k5yrB9H9oq","9RtPuXNyeS3k8LM9J","9diLYpd8cMmjBh54T","9nx6Yv3XREwJDyRms","AfJhKcg96muyPdu7S","BGvchZsjW7Wejj9Cz","BYwdHpGr6xT5vmE5C","Bah6LM7GXdXTy8GGA","BmH2ytt7sXwPHcrse","CqJYxtqe6qBbtd5yz","D4kEZ2JcWCoMvRPy7","DFWW7D6Y7X57n4cbM","DSorPqHDfrFiNM5Ew","DWXisKXaQArvre3QL","DwBm6isMpKSHHkhAd","E88raoktD8ANF92Yu","EAjLox7ycbofcCXce","F8rzFhY9yWA7pBX4j","G3iynDKjz9BHJbrdg","GJw6mQETXADSCZuuk","GWK5669HLqPyYMQ5J","GibAXjj4xXdFT8qWh","HzFZpgGcfabjAp9x6","KJ4eYziy6hanF9kr9","Kcyu7uncEFiYzYP2D","N4zzhqcywSzDDYsdh","NCDg3xE2mPcNAu7LX","NvgbTAz3hZ9SevZvd","QbcDS3wK43sRASvgu","S3b7Bb9wwfpByQgbo","SXJaeFCgBDJ5HAHtj","T5nL8TGrggoLAF8Dj","W9vT8YcCNFEcp9mWQ","WZ5CpBEFNsb2ivfah","XxviSwRxhwgNwsraH","Z2Zs662GpXqKBEAMc","ZKYFgjHGm7PE4Y2kv","a5qpGirN3B5BLKdMh","ahGA65oGDChNYp7Mb","bA7pGCMS9AB2RBo2p","bTQb3TcrbBShtqFPS","cYnqisf4wzBsM7MF5","cjHpaYiWD5eX7btH4","ckrbesqi3pWqfF2nP","dH8EsWHZtCFuQk5bq","dS5kvBMnk3LMQe56w","eXsFRMzE7WfbHbBL4","fmmsBu4m6ayKtuopf","hdXr3PD8cHNWyAdCe","hgZxckC87u2A57teF","juvCjffHJaPQf44im","keQBT2Apb9yaev8AH","myHdF8zARwW5uGmFs","nJLfaznnYgFqWQQrv","onghitNWSvN2FpCaN","osgPwDW2y5KDXRa2i","pAWFMDHu5dNixqPAq","pLvmgrCjMeDYJiJxB","q4azvWakEjp2TQM7S","qBee6Md9YwRKwkeW3","qQky2Csek4mroLn2P","tJz4YBCqAzZAzek5d","tLtjttw8dEqF6YQ4s","uQ6jCrPijzAmZyfXz","vGEaFNt7mm92Z7GXc","vRkMmE65HSFpCk6FW","vsEsf8FR3Fxb6z7fJ","x5ejzvDeXCc89Dukv","xEQyC5shxpYySSJJm","xhwDdvQ7MYxa6keXm","xkviMnkrGBneANvMr","y64rFMcyp7tDsBrJQ","yBYJWSShoKkMG8aPE","yQPghCwQv22kf6dFq","yd5sCxaEiu5vWizTq"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}