Cerberus: Tracing Requirements to Source Code Using Information Retrieval, Dynamic Analysis, and Program Analysis. Eaddy, M., Aho, A. V., Antoniol, G., & Gu�h�neuc, Y. In Krikhaar, R. & L�mmel, R., editors, Proceedings of the 16<sup>th</sup> International Conference on Program Comprehension (ICPC), pages 53–62, June, 2008. IEEE CS Press. 10 pages.
Paper abstract bibtex The concern location problem is to identify the source code within a program related to the features, requirements, or other concerns of the program. This problem is central to program development and maintenance. We present a new technique called prune dependency analysis that can be combined with existing techniques to dramatically improve the accuracy of concern location. We developed Cerberus, a potent hybrid technique for concern location that combines information retrieval, execution tracing, and prune dependency analysis. We used Cerberus to trace the 360 requirements of RHINO, a 32,134 line Java program that implements the ECMAScript international standard. In our experiment, prune dependency analysis boosted the recall of information retrieval by 155\NOand execution tracing by 104%. Moreover, we show that our combined technique outperformed the other techniques when run individually or in pairs.
@INPROCEEDINGS{Eaddy08-ICPC-Cerberus,
AUTHOR = {Marc Eaddy and Alfred V. Aho and Giuliano Antoniol and
Yann-Ga�l Gu�h�neuc},
BOOKTITLE = {Proceedings of the 16<sup>th</sup> International Conference on Program Comprehension (ICPC)},
TITLE = {Cerberus: Tracing Requirements to Source Code Using
Information Retrieval, Dynamic Analysis, and Program Analysis},
YEAR = {2008},
OPTADDRESS = {},
OPTCROSSREF = {},
EDITOR = {Ren� Krikhaar and Ralf L�mmel},
MONTH = {June},
NOTE = {10 pages.},
OPTNUMBER = {},
OPTORGANIZATION = {},
PAGES = {53--62},
PUBLISHER = {IEEE CS Press},
OPTSERIES = {},
OPTVOLUME = {},
KEYWORDS = {Topic: <b>Requirements and features</b>,
Venue: <c>ICPC</c>},
URL = {http://www.ptidej.net/publications/documents/ICPC08b.doc.pdf},
PDF = {http://www.ptidej.net/publications/documents/ICPC08b.ppt.pdf},
ABSTRACT = {The concern location problem is to identify the source
code within a program related to the features, requirements, or other
concerns of the program. This problem is central to program
development and maintenance. We present a new technique called prune
dependency analysis that can be combined with existing techniques to
dramatically improve the accuracy of concern location. We developed
Cerberus, a potent hybrid technique for concern location that
combines information retrieval, execution tracing, and prune
dependency analysis. We used Cerberus to trace the 360 requirements
of RHINO, a 32,134 line Java program that implements the ECMAScript
international standard. In our experiment, prune dependency analysis
boosted the recall of information retrieval by 155\NOand execution
tracing by 104\%. Moreover, we show that our combined technique
outperformed the other techniques when run individually or in pairs.}
}
Downloads: 0
{"_id":"afi9vizGTBxCi2gGP","bibbaseid":"eaddy-aho-antoniol-guhneuc-cerberustracingrequirementstosourcecodeusinginformationretrievaldynamicanalysisandprogramanalysis-2008","downloads":0,"creationDate":"2018-01-17T20:29:42.512Z","title":"Cerberus: Tracing Requirements to Source Code Using Information Retrieval, Dynamic Analysis, and Program Analysis","author_short":["Eaddy, M.","Aho, A. V.","Antoniol, G.","Gu�h�neuc, Y."],"year":2008,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Marc"],"propositions":[],"lastnames":["Eaddy"],"suffixes":[]},{"firstnames":["Alfred","V."],"propositions":[],"lastnames":["Aho"],"suffixes":[]},{"firstnames":["Giuliano"],"propositions":[],"lastnames":["Antoniol"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]}],"booktitle":"Proceedings of the 16<sup>th</sup> International Conference on Program Comprehension (ICPC)","title":"Cerberus: Tracing Requirements to Source Code Using Information Retrieval, Dynamic Analysis, and Program Analysis","year":"2008","optaddress":"","optcrossref":"","editor":[{"firstnames":["Ren�"],"propositions":[],"lastnames":["Krikhaar"],"suffixes":[]},{"firstnames":["Ralf"],"propositions":[],"lastnames":["L�mmel"],"suffixes":[]}],"month":"June","note":"10 pages.","optnumber":"","optorganization":"","pages":"53–62","publisher":"IEEE CS Press","optseries":"","optvolume":"","keywords":"Topic: <b>Requirements and features</b>, Venue: <c>ICPC</c>","url":"http://www.ptidej.net/publications/documents/ICPC08b.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/ICPC08b.ppt.pdf","abstract":"The concern location problem is to identify the source code within a program related to the features, requirements, or other concerns of the program. This problem is central to program development and maintenance. We present a new technique called prune dependency analysis that can be combined with existing techniques to dramatically improve the accuracy of concern location. We developed Cerberus, a potent hybrid technique for concern location that combines information retrieval, execution tracing, and prune dependency analysis. We used Cerberus to trace the 360 requirements of RHINO, a 32,134 line Java program that implements the ECMAScript international standard. In our experiment, prune dependency analysis boosted the recall of information retrieval by 155\\NOand execution tracing by 104%. Moreover, we show that our combined technique outperformed the other techniques when run individually or in pairs.","bibtex":"@INPROCEEDINGS{Eaddy08-ICPC-Cerberus,\r\n AUTHOR = {Marc Eaddy and Alfred V. Aho and Giuliano Antoniol and \r\n Yann-Ga�l Gu�h�neuc},\r\n BOOKTITLE = {Proceedings of the 16<sup>th</sup> International Conference on Program Comprehension (ICPC)},\r\n TITLE = {Cerberus: Tracing Requirements to Source Code Using \r\n Information Retrieval, Dynamic Analysis, and Program Analysis},\r\n YEAR = {2008},\r\n OPTADDRESS = {},\r\n OPTCROSSREF = {},\r\n EDITOR = {Ren� Krikhaar and Ralf L�mmel},\r\n MONTH = {June},\r\n NOTE = {10 pages.},\r\n OPTNUMBER = {},\r\n OPTORGANIZATION = {},\r\n PAGES = {53--62},\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>ICPC</c>},\r\n URL = {http://www.ptidej.net/publications/documents/ICPC08b.doc.pdf},\r\n PDF = {http://www.ptidej.net/publications/documents/ICPC08b.ppt.pdf},\r\n ABSTRACT = {The concern location problem is to identify the source \r\n code within a program related to the features, requirements, or other \r\n concerns of the program. This problem is central to program \r\n development and maintenance. We present a new technique called prune \r\n dependency analysis that can be combined with existing techniques to \r\n dramatically improve the accuracy of concern location. We developed \r\n Cerberus, a potent hybrid technique for concern location that \r\n combines information retrieval, execution tracing, and prune \r\n dependency analysis. We used Cerberus to trace the 360 requirements \r\n of RHINO, a 32,134 line Java program that implements the ECMAScript \r\n international standard. In our experiment, prune dependency analysis \r\n boosted the recall of information retrieval by 155\\NOand execution \r\n tracing by 104\\%. Moreover, we show that our combined technique \r\n outperformed the other techniques when run individually or in pairs.}\r\n}\r\n\r\n","author_short":["Eaddy, M.","Aho, A. V.","Antoniol, G.","Gu�h�neuc, Y."],"editor_short":["Krikhaar, R.","L�mmel, R."],"key":"Eaddy08-ICPC-Cerberus","id":"Eaddy08-ICPC-Cerberus","bibbaseid":"eaddy-aho-antoniol-guhneuc-cerberustracingrequirementstosourcecodeusinginformationretrievaldynamicanalysisandprogramanalysis-2008","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/ICPC08b.doc.pdf"},"keyword":["Topic: <b>Requirements and features</b>","Venue: <c>ICPC</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":["cerberus","tracing","requirements","source","code","using","information","retrieval","dynamic","analysis","program","analysis","eaddy","aho","antoniol","gu�h�neuc"],"keywords":["topic: <b>requirements and features</b>","venue: <c>icpc</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"]}