{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,19]],"date-time":"2025-03-19T11:24:35Z","timestamp":1742383475544,"version":"3.30.1"},"reference-count":44,"publisher":"Elsevier BV","issue":"3","license":[{"start":{"date-parts":[[1999,1,1]],"date-time":"1999-01-01T00:00:00Z","timestamp":915148800000},"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":[[1999,1]]},"DOI":"10.1016\/s0164-1212(98)10057-2","type":"journal-article","created":{"date-parts":[[2003,4,5]],"date-time":"2003-04-05T02:09:52Z","timestamp":1049508592000},"page":"199-211","source":"Crossref","is-referenced-by-count":34,"title":["Identifying objects in legacy systems using design metrics"],"prefix":"10.1016","volume":"44","author":[{"given":"Aniello","family":"Cimitile","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrea","family":"De Lucia","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Giuseppe","family":"Antonio Di Lucca","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Anna","family":"Rita Fasolino","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/S0164-1212(98)10057-2_BIB1","doi-asserted-by":"crossref","unstructured":"Achee, A.L., Carver, D.L., 1994. A greedy approach to object identification in imperative code. Proceedings of the Third IEEE Workshop on Program Comprehension, Washington, DC, IEEE Computer Soc. Press, Silver Spring, MD, pp. 4\u201311","DOI":"10.1109\/WPC.1994.341242"},{"issue":"1","key":"10.1016\/S0164-1212(98)10057-2_BIB2","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1016\/0164-1212(81)90043-1","article-title":"System partitioning and its measures","volume":"2","author":"Belady","year":"1981","journal-title":"Journal of Systems and Software"},{"issue":"5","key":"10.1016\/S0164-1212(98)10057-2_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":"Communications of the ACM"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB4","doi-asserted-by":"crossref","first-page":"13","DOI":"10.1002\/smr.4360050103","article-title":"Reverse-engineering COBOL via formal methods","volume":"5","author":"Breuer","year":"1993","journal-title":"Journal of Software Maintenance: Research and Practice"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB5","doi-asserted-by":"crossref","unstructured":"Calliss, F.W., Cornelius, B.J., 1990. Potpourri module detection. In: Proceedings of IEEE Conference on Software Maintenance, San Diego, CA, IEEE Computer Soc. Press, Silver Spring, MD, pp. 46\u201351","DOI":"10.1109\/ICSM.1990.131321"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB6","doi-asserted-by":"crossref","unstructured":"Canfora, G., Cimitile, A., Munro, M., 1993. A reverse engineering method for identifying reusable abstract data types. In: Proceedings of the First IEEE Working Conference on Reverse Engineering, Baltimore, Maryland, IEEE Computer Soc. Press, Silver Sand, MD, pp. 73\u201382","DOI":"10.1109\/WCRE.1993.287777"},{"issue":"1","key":"10.1016\/S0164-1212(98)10057-2_BIB7","first-page":"24","article-title":"An improved algorithm for identifying reusable objects in code","volume":"26","author":"Canfora","year":"1996","journal-title":"Software Practice and Experiences"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB8","doi-asserted-by":"crossref","first-page":"317","DOI":"10.1002\/smr.4360070504","article-title":"Assessing modularization and code scavenging techniques","volume":"7","author":"Canfora","year":"1995","journal-title":"Journal of Software Maintenance: Research and Practice"},{"issue":"6","key":"10.1016\/S0164-1212(98)10057-2_BIB9","doi-asserted-by":"crossref","first-page":"476","DOI":"10.1109\/32.295895","article-title":"A metrics suite for object oriented design","volume":"20","author":"Chidamber","year":"1994","journal-title":"IEEE Transactions on Software Engineering"},{"issue":"1","key":"10.1016\/S0164-1212(98)10057-2_BIB10","doi-asserted-by":"crossref","first-page":"66","DOI":"10.1109\/52.43051","article-title":"Extracting and restructuring the design of large systems","volume":"7","author":"Choi","year":"1990","journal-title":"IEEE Software"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB11","doi-asserted-by":"crossref","unstructured":"Cimitile, A., De Lucia, A., Di Lucca, G.A., Fasolino, A.R., 1997. Identifying objects in legacy systems. In: Proceedings of the Fifth IEEE International Workshop on Program Comprehension, Dearborn, Michigan, IEEE Computer Soc. Press, Silver Sand, MD, pp. 138\u2013147","DOI":"10.1109\/WPC.1997.601281"},{"issue":"2","key":"10.1016\/S0164-1212(98)10057-2_BIB12","doi-asserted-by":"crossref","first-page":"117","DOI":"10.1016\/0164-1212(94)00049-S","article-title":"Software salvaging and the call dominance tree","volume":"28","author":"Cimitile","year":"1995","journal-title":"The Journal of Systems and Software"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB13","doi-asserted-by":"crossref","unstructured":"De Lucia, A., Di Lucca, G.A., Fasolino, A.R., Guerra, P., Petruzzelli, S., 1997. Migrating legacy systems towards object-oriented platforms. In: Proceedings of the IEEE International Conference on Software Maintenance, Bari, Italy, IEEE Computer Soc. Press, Silver Sand, MD, pp. 122\u2013129","DOI":"10.1109\/ICSM.1997.624238"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB14","doi-asserted-by":"crossref","unstructured":"Dietrich, W., Nackman, I., Gracer, L.,1989. Saving a legacy with objects. In: Proceedings of OOPSLA, pp. 77\u201388","DOI":"10.1145\/74877.74886"},{"issue":"3","key":"10.1016\/S0164-1212(98)10057-2_BIB15","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 Transactions on Programming Languages and Systems"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB16","doi-asserted-by":"crossref","unstructured":"Gall, H., Kl\u00f6sch, R., 1995. Finding objects in procedural programs: An alternative approach. In: Proceedings of the Second IEEE Working Conference on Reverse Engineering, Toronto, Canada, IEEE Computer Soc. Press, Silver Sand, MD, pp. 208\u2013216","DOI":"10.1109\/WCRE.1995.514709"},{"issue":"2","key":"10.1016\/S0164-1212(98)10057-2_BIB17","doi-asserted-by":"crossref","first-page":"56","DOI":"10.1145\/227531.227541","article-title":"A strategy for mapping from function oriented software models to object oriented software models","volume":"21","author":"George","year":"1996","journal-title":"ACM Software Engineering Notes"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB18","unstructured":"Graham, I., 1994. Migrating to Object Technology, Addison-Wesley, Reading, MA"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB19","unstructured":"Hecht, M.S., 1977. Flow Analysis of Computer Programs, Elsevier, Amsterdam"},{"issue":"1","key":"10.1016\/S0164-1212(98)10057-2_BIB20","doi-asserted-by":"crossref","first-page":"26","DOI":"10.1145\/77606.77608","article-title":"Interprocedural slicing using dependence graphs","volume":"12","author":"Horwitz","year":"1990","journal-title":"ACM Transactions on Programming Languages and Systems"},{"issue":"8","key":"10.1016\/S0164-1212(98)10057-2_BIB21","doi-asserted-by":"crossref","first-page":"749","DOI":"10.1109\/TSE.1985.232524","article-title":"System structure analysis: Clustering with data bindings","volume":"11","author":"Hutchens","year":"1985","journal-title":"IEEE Transactions on Software Engineering"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB22","doi-asserted-by":"crossref","unstructured":"Jacobson, I., Lindstr\u00f6m, F., 1991. Re-engineering of old systems to an object-oriented architecture. In: Proceedings of OOPSLA'91, ACM Sigplan Notices, vol. 26, no. 11, pp. 340\u2013350","DOI":"10.1145\/118014.117980"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB23","doi-asserted-by":"crossref","first-page":"211","DOI":"10.1016\/0164-1212(95)00098-4","article-title":"A unified framework for expressing software subsystem classification techniques","volume":"36","author":"Lakhothia","year":"1997","journal-title":"Journal of Systems and Software"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB24","doi-asserted-by":"crossref","unstructured":"Lindig, C., Snelting, G., 1997. Assessing modular structure of legacy code based on mathematical concept analysis. In: Proceedings of the 19th International Conference on Software Engineering, Boston, MA, ACM Press, New York, pp. 349\u2013359","DOI":"10.1145\/253228.253354"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB25","doi-asserted-by":"crossref","unstructured":"Liu, S., Wilde, N., 1990. Identifying objects in a conventional procedural language: An example of data design recovery. In: Proceedings of the IEEE Conference on Software Maintenance, San Diego, CA, IEEE Computer Soc. Press, Silver Sand, MD, pp. 266\u2013271","DOI":"10.1109\/ICSM.1990.131371"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB26","doi-asserted-by":"crossref","first-page":"249","DOI":"10.1002\/smr.4360060503","article-title":"A new approach to finding objects in programs","volume":"6","author":"Livadas","year":"1994","journal-title":"Journal of Software Maintenance: Research and Practice"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB27","doi-asserted-by":"crossref","unstructured":"M\u00fcller, H.A., Uhl, J.S., 1990. Composing subsystem structures using (K,2)-partite graphs. In: Proceedings of the IEEE Conference on Software Maintenance, San Diego, CA, IEEE Computer Soc. Press, Silver Sand, MD, pp. 12\u201319","DOI":"10.1109\/ICSM.1990.131315"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB28","doi-asserted-by":"crossref","unstructured":"Newcomb, P., Kotik, G., 1995. Reengineering procedural into object-oriented systems. In: Proceedings of the Second IEEE Working Conference on Reverse Engineering, Toronto, Canada, IEEE Computer Soc. Press, Silver Sand, MD, pp. 237\u2013249","DOI":"10.1109\/WCRE.1995.514712"},{"issue":"5","key":"10.1016\/S0164-1212(98)10057-2_BIB29","doi-asserted-by":"crossref","first-page":"261","DOI":"10.1002\/smr.4360060504","article-title":"An object finder for program structure understanding in software maintenance","volume":"6","author":"Ogando","year":"1994","journal-title":"Journal of Software Maintenance: Research and Practice"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB30","unstructured":"Ong, C.L., Tsai, W.T., 1993. Class and object extraction from imperative code. Journal of Object Oriented Programming, 58\u201368"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB31","doi-asserted-by":"crossref","unstructured":"Patel, S., Chu, W., Baxter, R., 1992. A measure for composing module cohesion. In: Proceedings of the 14th International Conference on Software Engineering, Melbourne, Australia, pp. 38\u201348","DOI":"10.1145\/143062.143086"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB32","unstructured":"Reasoning Systems, Inc., REFINE\u2122 User's Guide, version 3.0, Palo Alto, CA, 1990"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB33","doi-asserted-by":"crossref","unstructured":"Schwanke, R., 1991. An intelligent tool for reengineering software modularity. In: Proceedings of the 13th International Conference on Software Engineering, Austin, TX, USA","DOI":"10.1109\/ICSE.1991.130626"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB34","unstructured":"Sneed, H.M., 1993. Migration of procedurally oriented COBOL programs in an object-oriented architecture. In: Proceedings of the IEEE Conference on Software Maintenance, Orlando, FL, USA, IEEE Computer Soc. Press, Silver Sand, MD, pp. 396\u2013404"},{"issue":"1","key":"10.1016\/S0164-1212(98)10057-2_BIB35","doi-asserted-by":"crossref","first-page":"24","DOI":"10.1109\/52.363168","article-title":"Planning the reengineering of legacy systems","volume":"12","author":"Sneed","year":"1995","journal-title":"IEEE Software"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB36","doi-asserted-by":"crossref","unstructured":"Sneed, H.M., 1996. Encapsulating legacy software for use in client\/server systems. Proceedings of the Third IEEE Working Conference on Reverse Engineering, Monterey, CA, IEEE Computer Soc. Press, Silver Sand, MD, pp. 104\u2013119","DOI":"10.1109\/WCRE.1996.558885"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB37","doi-asserted-by":"crossref","unstructured":"Sneed, H.M., 1996. Object-oriented COBOL recycling. In: Proceedings of the Third IEEE Working Conference on Reverse Engineering, Monterey, CA, IEEE Computer Soc. Press, Silver Sand, MD, pp. 169\u2013178","DOI":"10.1109\/WCRE.1996.558901"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB38","doi-asserted-by":"crossref","unstructured":"Siff, M., Reps, T., 1997. Identifying modules via concept analysis. In: Proceedings of the IEEE International Conference on Software Maintenance, Bari, Italy, IEEE Computer Soc. Press, Silver Sand, MD, pp. 170\u2013179","DOI":"10.1109\/ICSM.1997.624243"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB39","doi-asserted-by":"crossref","unstructured":"Subramaniam, G.V., Byrne, E.J., 1996. Deriving an object model from legacy FORTRAN code. In: Proceedings of the IEEE International Conference on Software Maintenance, Monterey, CA, IEEE Computer Soc. Press, Silver Sand, MD, pp. 3\u201312","DOI":"10.1109\/ICSM.1996.564983"},{"issue":"4","key":"10.1016\/S0164-1212(98)10057-2_BIB40","doi-asserted-by":"crossref","first-page":"352","DOI":"10.1109\/TSE.1984.5010248","article-title":"Program slicing","volume":"SE\u201310","author":"Weiser","year":"1984","journal-title":"IEEE Transactions on Software Engineering"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB41","doi-asserted-by":"crossref","unstructured":"Wille, R., 1981. Restructuring lattice theory: An approach based on hierarchies of concepts. In: Rival, I. (Ed.), Ordered Sets, NATO Advanced Study Institute, pp. 445\u2013470","DOI":"10.1007\/978-94-009-7798-3_15"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB42","doi-asserted-by":"crossref","unstructured":"Yeh, A.S., Harris, D.R., Rubenstein, H.B., 1995. Recovering abstract data types and object instances from a conventional procedural language. Proceedings of the Second IEEE Working Conference on Reverse Engineering, Toronto, Canada, IEEE Computer Soc. Press, Silver Sand, MD, pp. 227\u2013236","DOI":"10.1109\/WCRE.1995.514711"},{"issue":"4","key":"10.1016\/S0164-1212(98)10057-2_BIB43","doi-asserted-by":"crossref","first-page":"365","DOI":"10.1002\/spe.4380200404","article-title":"Restructuring for style","volume":"20","author":"Zimmer","year":"1990","journal-title":"Software Practice and Experience"},{"key":"10.1016\/S0164-1212(98)10057-2_BIB44","unstructured":"Zuylen, H. (Ed.), 1993. The REDO Compendium of Reverse-Engineering for Software Maintenance, Wiley, New York"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121298100572?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121298100572?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2024,12,4]],"date-time":"2024-12-04T12:05:43Z","timestamp":1733313943000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121298100572"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1999,1]]},"references-count":44,"journal-issue":{"issue":"3","published-print":{"date-parts":[[1999,1]]}},"alternative-id":["S0164121298100572"],"URL":"https:\/\/doi.org\/10.1016\/s0164-1212(98)10057-2","relation":{},"ISSN":["0164-1212"],"issn-type":[{"type":"print","value":"0164-1212"}],"subject":[],"published":{"date-parts":[[1999,1]]}}}