{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,27]],"date-time":"2025-10-27T20:24:47Z","timestamp":1761596687080},"reference-count":35,"publisher":"Elsevier BV","issue":"2","license":[{"start":{"date-parts":[[2001,11,1]],"date-time":"2001-11-01T00:00:00Z","timestamp":1004572800000},"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":[[2001,11]]},"DOI":"10.1016\/s0164-1212(01)00061-9","type":"journal-article","created":{"date-parts":[[2002,10,14]],"date-time":"2002-10-14T20:48:11Z","timestamp":1034628491000},"page":"181-196","source":"Crossref","is-referenced-by-count":60,"title":["Object-oriented design patterns recovery"],"prefix":"10.1016","volume":"59","author":[{"given":"G.","family":"Antoniol","sequence":"first","affiliation":[]},{"given":"G.","family":"Casazza","sequence":"additional","affiliation":[]},{"given":"M.","family":"Di Penta","sequence":"additional","affiliation":[]},{"given":"R.","family":"Fiutem","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/S0164-1212(01)00061-9_BIB1","series-title":"A Pattern Language: Towns, Buildings, Construction","author":"Alexander","year":"1977"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB2","doi-asserted-by":"crossref","unstructured":"Antoniol, G., Fiutem, R., Cristoforetti, L., 1998a. Design pattern recovery in object-oriented software. In: Proceedings of the International Workshop on Program Comprehension","DOI":"10.1109\/WPC.1998.693342"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB3","doi-asserted-by":"crossref","unstructured":"Antoniol, G., Fiutem, R., Cristoforetti, L. 1998b. Using metrics to identify design patterns in object-oriented software. In: Proceedings of the Fifth International Symposium on Software Metrics \u2013 METRICS98, pp. 23\u201334","DOI":"10.1109\/METRIC.1998.731224"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB4","doi-asserted-by":"crossref","unstructured":"Antoniol, G., Tonella, P., 1999. Object-oriented design pattern inference. In: Proceedings of the International Conference on Software Maintenance, pp. 230\u2013238","DOI":"10.1109\/ICSM.1999.792619"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB5","series-title":"The Unified Language Modeling","author":"Booch","year":"1999"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB6","series-title":"AntiPatterns","author":"Brown","year":"1998"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB7","series-title":"A System of Patterns: Pattern Oriented Software Architecture","author":"Buschmann","year":"1996"},{"issue":"6","key":"10.1016\/S0164-1212(01)00061-9_BIB8","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"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB9","unstructured":"Coplien et al. (Eds.), 1995. D. C. S. Pattern Languages of Program Design. Addison-Wesley Publishing Company, Reading, MA"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB10","series-title":"Introductions to Algorithms","author":"Cormen","year":"1990"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB11","doi-asserted-by":"crossref","unstructured":"Fiutem, R., Tonella, P., Antoniol, G., Merlo, E., 1996. A cliche' based environment to support architectural reverse engineering. In: Proceeding of the International Conference on Software Maintenance, pp. 319\u2013328","DOI":"10.1109\/ICSM.1996.565035"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB12","series-title":"Information Retrieval: Data Structures and Algorithms","author":"Frakes","year":"1992"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB13","doi-asserted-by":"crossref","unstructured":"Gamma, E., 1991. Objektorientierte Software-Entwicklung am Beispiel von ET++ Design-Muster, Klassenbibliotek, Werkzeuge. PhD Thesis, University of Zurich","DOI":"10.1007\/978-3-642-77838-4"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB14","series-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma","year":"1995"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB15","doi-asserted-by":"crossref","unstructured":"Keller, R., Schauer, R., Robitaille, S., Page, P., 1999. Pattern-based reverse-engineering of designs components. In: Proceedings of the International Conference on Software Engineering, Los Angeles, pp. 226\u2013235","DOI":"10.1145\/302405.302622"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB16","doi-asserted-by":"crossref","unstructured":"Kontogiannis, K., Mori, R.D., Bernstein, R., Galler, M., Merlo, E., 1996. Pattern matching for clone and concept detection. Journal of Automated Software Engineering","DOI":"10.1007\/BF00126960"},{"issue":"12","key":"10.1016\/S0164-1212(01)00061-9_BIB17","doi-asserted-by":"crossref","first-page":"1065","DOI":"10.1109\/32.184761","article-title":"Program concept recognition and transformation","volume":"18","author":"Kozaczynski","year":"1992","journal-title":"IEEE Transactions on Software Engineering"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB18","doi-asserted-by":"crossref","unstructured":"Kramer, C., 1997\u20131998. Private communications","DOI":"10.1017\/CBO9780511585630"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB19","doi-asserted-by":"crossref","unstructured":"Kramer, C., Prechelt, L., 1996. Design recovery by automated search for structural design patterns in object-oriented software. In: International Workshop on Program Comprehension, pp. 208\u2013215","DOI":"10.1109\/WCRE.1996.558905"},{"issue":"3","key":"10.1016\/S0164-1212(01)00061-9_BIB20","doi-asserted-by":"crossref","first-page":"41","DOI":"10.1109\/MS.1986.233414","article-title":"Delocalized plans and program comprehension","volume":"3","author":"Letowsky","year":"1986","journal-title":"IEEE Software"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB21","series-title":"Object-Oriented Software Metrics","author":"Lorenz","year":"1994"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB22","doi-asserted-by":"crossref","unstructured":"Mayrand, J., Leblanc, C., Merlo, E., 1996. Experiment on the automatic detection of function clones in a software system using metrics. In: Proceedings of the International Conference on Software Maintenance, Monterey, CA, pp. 244\u2013253","DOI":"10.1109\/ICSM.1996.565012"},{"issue":"5","key":"10.1016\/S0164-1212(01)00061-9_BIB23","doi-asserted-by":"crossref","first-page":"50","DOI":"10.1145\/175290.175295","article-title":"Automated support for legacy code understanding","volume":"37","author":"Ning","year":"1994","journal-title":"Communications of the Association for Computing Machinery"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB24","unstructured":"Petroni, A., 1997. Rappresentazione di design orientati agli oggetti ed analisi basata su metriche. Tesi di Diploma, University of Trento, Trento, Italy"},{"issue":"5","key":"10.1016\/S0164-1212(01)00061-9_BIB25","doi-asserted-by":"crossref","first-page":"84","DOI":"10.1145\/175290.175301","article-title":"A memory-based approach to recognizing programming plans","volume":"37","author":"Quilici","year":"1994","journal-title":"Communications of the Association for Computing Machinery"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB26","doi-asserted-by":"crossref","unstructured":"Rich, C., Wills, L., 1990. Recognizing a program's design: a graph parsing approach. IEEE Software, pp. 82\u201389","DOI":"10.1109\/52.43053"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB27","doi-asserted-by":"crossref","unstructured":"Rugaber, S., Stirewalt, K., Wills, L., 1995. Detecting interleaving. In: Proceedings of the International Conference on Software Maintenance, Opio (Nice), pp. 265\u2013274","DOI":"10.1109\/ICSM.1995.526548"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB28","doi-asserted-by":"crossref","unstructured":"Schauer, R., Keller, R., 1998. Pattern visualization for software comprehension. In: Proceedings of the International Workshop on Program Comprehension","DOI":"10.1109\/WPC.1998.693273"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB29","doi-asserted-by":"crossref","unstructured":"Schmidt, D.C., 1995. Using design patterns to develop reusable object-oriented communication software. In: Mohamed Fayad, Tsai, W.T. (Eds.), Communication Software, CACM, Special Issue on Object-Oriented Experiences, vol. 38, pp. 65\u201374","DOI":"10.1145\/226239.226255"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB30","doi-asserted-by":"crossref","unstructured":"Seemann, J., Wolff von Gudenberg, J., 1998. Pattern-based design recovery of Java Software. SIGSOFT FSE 1998: 10-16 SIGSOFT'98, Proceedings of the ACM SIGSOFT International Symposium on Foundations of Software Engineering, November 3\u20135, 1998, Lake Buena Vista, Florida, USA. ACM, 1998","DOI":"10.1145\/288195.288207"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB31","unstructured":"Shull, F., Melo, W.L., Basili, V.R., 1996. An inductive method for discovering design patterns from object-oriented software systems. Technical Report, University of Maryland, Computer Science Department, College Park, MD 20742, USA"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB32","doi-asserted-by":"crossref","unstructured":"Tonella, P., Fiutem, R., Antoniol, G., and Merlo, E., 1996. Augmenting pattern-based architectural recovery with flow analysis: Mosaic \u2013 a case study. In: Proceedings of the Working Conference on Reverse Engineering, pp. 198\u2013207","DOI":"10.1109\/WCRE.1996.558904"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB33","series-title":"Pattern Languages of Programming Design","author":"Vlissides","year":"1996"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB34","doi-asserted-by":"crossref","unstructured":"Wills, L., 1992. Automated program recognition by graph Parsing. Ph.D. Dissertation, MIT","DOI":"10.21236\/ADA259609"},{"key":"10.1016\/S0164-1212(01)00061-9_BIB35","doi-asserted-by":"crossref","unstructured":"Wuyts, R., 1998. Declarative reasoning about the structure of object-oriented systems. In: Proceedings of TOOLS-26, Santa Barbara","DOI":"10.1109\/TOOLS.1998.711007"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121201000619?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121201000619?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2023,4,8]],"date-time":"2023-04-08T04:13:46Z","timestamp":1680927226000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121201000619"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2001,11]]},"references-count":35,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2001,11]]}},"alternative-id":["S0164121201000619"],"URL":"https:\/\/doi.org\/10.1016\/s0164-1212(01)00061-9","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2001,11]]}}}