{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,17]],"date-time":"2023-11-17T22:32:55Z","timestamp":1700260375072},"reference-count":32,"publisher":"Elsevier BV","issue":"2","license":[{"start":{"date-parts":[[1998,8,1]],"date-time":"1998-08-01T00:00:00Z","timestamp":901929600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[1998,8]]},"DOI":"10.1016\/s0164-1212(98)10006-7","type":"journal-article","created":{"date-parts":[[2003,4,4]],"date-time":"2003-04-04T21:09:52Z","timestamp":1049490592000},"page":"153-164","source":"Crossref","is-referenced-by-count":18,"title":["An integrated environment for reuse reengineering C code"],"prefix":"10.1016","volume":"42","author":[{"given":"Gerardo","family":"Canfora","sequence":"first","affiliation":[]},{"given":"Andrea De","family":"Lucia","sequence":"additional","affiliation":[]},{"given":"Malcolm","family":"Munro","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/S0164-1212(98)10006-7_BIB1","doi-asserted-by":"crossref","unstructured":"P. Benedusi, A. Cimitile, U. De Carlini, A reverse engineering methodology to reconstruct hierarchical data flow diagrams for software maintenance, Proceedings of the International Conference on Software Maintenance, Miami, Florida, USA, IEEE Computer Soc. Press, Silver Spring, MD, 1989, pp. 180\u2013191","DOI":"10.1109\/ICSM.1989.65208"},{"issue":"3","key":"10.1016\/S0164-1212(98)10006-7_BIB2","doi-asserted-by":"crossref","first-page":"225","DOI":"10.1016\/0164-1212(92)90053-M","article-title":"Reverse engineering processes, design document production and structure charts","volume":"19","author":"Benedusi","year":"1992","journal-title":"J. Syst. Software"},{"issue":"5","key":"10.1016\/S0164-1212(98)10006-7_BIB3","doi-asserted-by":"crossref","first-page":"72","DOI":"10.1145\/175290.175300","article-title":"Program understanding and the concept assignment problem","volume":"37","author":"Biggerstaff","year":"1994","journal-title":"Comm. ACM"},{"issue":"2","key":"10.1016\/S0164-1212(98)10006-7_BIB4","doi-asserted-by":"crossref","first-page":"61","DOI":"10.1109\/2.67210","article-title":"Identifying and qualifying reusable software components","volume":"24","author":"Caldiera","year":"1991","journal-title":"IEEE Computer"},{"issue":"12","key":"10.1016\/S0164-1212(98)10006-7_BIB5","doi-asserted-by":"crossref","first-page":"1053","DOI":"10.1109\/32.184760","article-title":"A logic-based approach to reverse engineering tools production","volume":"18","author":"Canfora","year":"1992","journal-title":"IEEE Trans. Software Engrg."},{"key":"10.1016\/S0164-1212(98)10006-7_BIB6","doi-asserted-by":"crossref","unstructured":"G. Canfora, A. Cimitile, M. Munro, A reverse engineering method for identifying reusable abstract data types, Proceedings of Working Conference on Reverse Engineering, Baltimore, Maryland, USA, IEEE Computer Soc. Press, Silver Spring, MD, 1993, pp. 73\u201382","DOI":"10.1109\/WCRE.1993.287777"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB7","doi-asserted-by":"crossref","unstructured":"G. Canfora, A. Cimitile, M. Munro, C.J. Taylor, Extracting abstract data types from C programs: A case study, Proceedings of the International Conference on Software Maintenance IEEE Computer Soc. Press, Silver Spring, MD, 1993, pp. 200\u2013209","DOI":"10.1109\/ICSM.1993.366942"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB8","doi-asserted-by":"crossref","unstructured":"G. Canfora, A. Cimitile, M. Munro, M. Tortorella, Experiments in identifying reusable abstract data types in program code, Proceedings of the Second Workshop on Program Comprehension Capri, Italy, IEEE Computer Soc. Press, Silver Spring, MD, 1993, pp. 36\u201345","DOI":"10.1109\/WPC.1993.263908"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB9","doi-asserted-by":"crossref","unstructured":"G. Canfora, A. Cimitile, A. De Lucia, G.A. Di Lucca, Software salvaging based on conditions, Proceedings of the International Conference on Software Maintenance Victoria, Canada, IEEE Computer Soc. Press, Silver Spring, MD, 1994, pp. 424\u2013433","DOI":"10.1109\/ICSM.1994.336752"},{"issue":"2","key":"10.1016\/S0164-1212(98)10006-7_BIB10","doi-asserted-by":"crossref","first-page":"53","DOI":"10.1002\/smr.4360060202","article-title":"RE2: reverse engineering and reuse re-engineering","volume":"6","author":"Canfora","year":"1994","journal-title":"J. Software Mainten.: Res. Prac."},{"key":"10.1016\/S0164-1212(98)10006-7_BIB11","unstructured":"G. Canfora, A. Cimitile, M. Tortorella, Prolog for software maintenance, Proceedings of the International Conference on Software Engineering and Knowledge Engineering Rockville, Maryland, USA, 1995, pp. 478\u2013486"},{"issue":"1","key":"10.1016\/S0164-1212(98)10006-7_BIB12","first-page":"24","article-title":"An improved algorithm for identifying objects in code","volume":"26","author":"Canfora","year":"1996","journal-title":"Software Prac. Exper."},{"key":"10.1016\/S0164-1212(98)10006-7_BIB13","doi-asserted-by":"crossref","unstructured":"A. Cimitile, A.R. Fasolino, P. Maresca, Reuse-reengineering and validation via concept assignment, Proceedings of the International Conference on Software Maintenance Montreal, Canada, IEEE Computer Soc. Press, Silver Spring, MD, 1993, pp. 216\u2013225","DOI":"10.1109\/ICSM.1993.366940"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB14","doi-asserted-by":"crossref","unstructured":"A. Cimitile, A. De Lucia, M. Munro, Qualifying reusable functions using symbolic execution, Proceedings of the Second Working Conference on Reverse Engineering Toronto, Canada, IEEE Computer Soc. Press, Silver Spring, MD, 1995, pp. 178\u2013187","DOI":"10.1109\/WCRE.1995.514706"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB15","doi-asserted-by":"crossref","unstructured":"A. Cimitile, A. De Lucia, M. Munro, Identifying reusable functions using specification driven program slicing: A case study, Proceedings of the International Conference on Software Maintenance Opio, Nice, France, IEEE Computer Soc. Press, Silver Spring, MD, 1995, pp. 124\u2013133","DOI":"10.1109\/ICSM.1995.526534"},{"issue":"2","key":"10.1016\/S0164-1212(98)10006-7_BIB16","doi-asserted-by":"crossref","first-page":"117","DOI":"10.1016\/0164-1212(94)00049-S","article-title":"Software salvaging and the dominance tree","volume":"28","author":"Cimitile","year":"1995","journal-title":"J. Syst. Software"},{"issue":"3","key":"10.1016\/S0164-1212(98)10006-7_BIB17","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1002\/(SICI)1096-908X(199605)8:3<145::AID-SMR127>3.0.CO;2-9","article-title":"A specification driven slicing process for identifying reusable functions","volume":"8","author":"Cimitile","year":"1996","journal-title":"J. Software Mainten.: Res. Prac."},{"key":"10.1016\/S0164-1212(98)10006-7_BIB18","doi-asserted-by":"crossref","unstructured":"P. Devambu GENOA\/GENII \u2013 a customizable, language and front-end independent code analyzer, Proceedings of the Fourteenth International Conference on Software Engineering Melbourn, Australia, IEEE Computer Soc. Press, Silver Spring, MD, 1992, pp. 307\u2013319","DOI":"10.1109\/ICSE.1992.753508"},{"issue":"2","key":"10.1016\/S0164-1212(98)10006-7_BIB19","doi-asserted-by":"crossref","first-page":"135","DOI":"10.1145\/128894.128895","article-title":"Building integrated software development environments part I: Tool specification","volume":"1","author":"Engels","year":"1992","journal-title":"ACM Trans. Software Engrg. Methodologies"},{"issue":"3","key":"10.1016\/S0164-1212(98)10006-7_BIB20","doi-asserted-by":"crossref","first-page":"319","DOI":"10.1145\/24039.24041","article-title":"The program dependence graph and its use in optimization","volume":"9","author":"Ferrante","year":"1987","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"12","key":"10.1016\/S0164-1212(98)10006-7_BIB21","doi-asserted-by":"crossref","first-page":"1117","DOI":"10.1109\/TSE.1986.6313007","article-title":"Gandalf: Software development environments","volume":"12","author":"Habermann","year":"1986","journal-title":"IEEE Trans. Software Engrg."},{"issue":"6","key":"10.1016\/S0164-1212(98)10006-7_BIB22","doi-asserted-by":"crossref","first-page":"584","DOI":"10.1109\/32.232023","article-title":"A unified interprocedural program representation for a maintenance environment","volume":"19","author":"Harrold","year":"1993","journal-title":"IEEE Trans. Software Engrg."},{"key":"10.1016\/S0164-1212(98)10006-7_BIB23","unstructured":"M.S. Hecht, Flow Analysis of Computer Programs Elsevier, New York, 1977"},{"issue":"7","key":"10.1016\/S0164-1212(98)10006-7_BIB24","doi-asserted-by":"crossref","first-page":"385","DOI":"10.1145\/360248.360252","article-title":"Symbolic execution and program testing","volume":"19","author":"King","year":"1976","journal-title":"Comm. ACM"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB25","doi-asserted-by":"crossref","unstructured":"D.A Kinloch, M. Munro, Understanding C programs using the combined C graph representation, Proceedings of the International Conference on Software Maintenance Victoria, Canada, IEEE Computer Soc. Press, Silver Spring, MD, 1994, pp. 172\u2013180","DOI":"10.1109\/ICSM.1994.336777"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB26","unstructured":"R. Snodgrass, The Interface Description Language MD: Computer Science Press, Rockville, MD, 1989"},{"issue":"8","key":"10.1016\/S0164-1212(98)10006-7_BIB27","doi-asserted-by":"crossref","first-page":"44","DOI":"10.1109\/2.402076","article-title":"Program comprehension during software maintenance and evolution","volume":"28","author":"von Mayrhauser","year":"1995","journal-title":"IEEE Computer"},{"issue":"1","key":"10.1016\/S0164-1212(98)10006-7_BIB28","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1142\/S0218194095000034","article-title":"Formal methods to aid the evolution of software International","volume":"5","author":"Ward","year":"1995","journal-title":"J. Software Engrg. and Knowledge Engineering"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB29","doi-asserted-by":"crossref","unstructured":"N. Wilde, J.A. Gomez, T. Gust, D. Strasburg, Locating user functionality in old code, Proceedings of the International Conference on Software Maintenance Orlando, Florida, IEEE Computer Soc. Press, Silver Spring, MD, 1992, pp. 200\u2013205","DOI":"10.1109\/ICSM.1992.242542"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB30","doi-asserted-by":"crossref","unstructured":"M. Weiser, Program slicing IEEE Transactions on Software Engineering, SE-10 (4) (1984) 352\u2013357","DOI":"10.1109\/TSE.1984.5010248"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB31","unstructured":"E. Yourdon, L.L. Constantine, Structured Design: Fundamentals of a Discipline of Computer Program and System Design Prentice Hall, Englewood Cliffs, NJ, 1979"},{"key":"10.1016\/S0164-1212(98)10006-7_BIB32","unstructured":"Reasoning Systems REFINE User's Guide Palo Alto, CA 1989"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121298100067?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121298100067?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2020,1,8]],"date-time":"2020-01-08T08:15:48Z","timestamp":1578471348000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121298100067"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1998,8]]},"references-count":32,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1998,8]]}},"alternative-id":["S0164121298100067"],"URL":"https:\/\/doi.org\/10.1016\/s0164-1212(98)10006-7","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[1998,8]]}}}