{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T23:21:44Z","timestamp":1773789704555,"version":"3.50.1"},"reference-count":45,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2009,8,14]],"date-time":"2009-08-14T00:00:00Z","timestamp":1250208000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Software Qual J"],"published-print":{"date-parts":[[2010,3]]},"DOI":"10.1007\/s11219-009-9082-y","type":"journal-article","created":{"date-parts":[[2009,8,13]],"date-time":"2009-08-13T06:40:52Z","timestamp":1250145652000},"page":"145-174","source":"Crossref","is-referenced-by-count":33,"title":["Improving design-pattern identification: a new approach and an exploratory study"],"prefix":"10.1007","volume":"18","author":[{"given":"Yann-Ga\u00ebl","family":"Gu\u00e9h\u00e9neuc","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jean-Yves","family":"Guyomarc\u2019h","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Houari","family":"Sahraoui","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2009,8,14]]},"reference":[{"key":"9082_CR1","doi-asserted-by":"crossref","unstructured":"Albin-Amiot, H., Cointe, P., Gu\u00e9h\u00e9neuc, Y.-G., & Jussien, N. (2001). Instantiating and detecting design patterns: Putting bits and pieces together. In D. Richardson, M. Feather, & M. Goedicke (Eds.), Proceedings of the 16th conference on automated software engineering (ASE), November 2001 (pp. 166\u2013173). IEEE Computer Society Press.","DOI":"10.1109\/ASE.2001.989802"},{"key":"9082_CR2","doi-asserted-by":"crossref","unstructured":"Antoniol, G., Fiutem, R., & Cristoforetti, L. (1998). Design pattern recovery in object-oriented software. In S. Tilley & G. Visaggio (Eds.), Proceedings of the 6th international workshop on program comprehension (pp. 153\u2013160). IEEE Computer Society Press.","DOI":"10.1109\/WPC.1998.693342"},{"key":"9082_CR3","unstructured":"Bansiya, J. (1998). Automating design-pattern identification. Dr. Dobb\u2019s Journal. http:\/\/www.ddj.com\/184410578 ."},{"key":"9082_CR4","unstructured":"Bayardo, R. J. Jr., & Miranker, D. P. (1996). A complexity analysis of space-bounded learning algorithms for the constraint satisfaction problem. In D. Weld & B. Clancey (Eds.), Proceedings of the 13th national conference on artificial intelligence (pp. 298\u2013304). AAAI Press, The MIT Press."},{"issue":"2","key":"9082_CR5","doi-asserted-by":"crossref","first-page":"137","DOI":"10.1109\/TSE.2005.23","volume":"31","author":"D. Beyer","year":"2005","unstructured":"Beyer, D., Noack, A., & Lewerentz, C. (2005). Efficient relational calculation for software analysis. Transactions on Software Engineering, 31(2), 137\u2013149.","journal-title":"Transactions on Software Engineering"},{"key":"9082_CR6","doi-asserted-by":"crossref","unstructured":"Bieman, J., Straw, G., Wang, H., Munger, P. W., & Alexander, R. T. (2003). Design patterns and change proneness: An examination of five evolving systems. In M. Berry & W. Harrison (Eds.), Proceedings of the 9th international software metrics symposium (pp. 40\u201349). IEEE Computer Society Press.","DOI":"10.1109\/METRIC.2003.1232454"},{"issue":"12","key":"9082_CR7","doi-asserted-by":"crossref","first-page":"1226","DOI":"10.1109\/TC.1976.1674590","volume":"25","author":"B. Boehm","year":"1976","unstructured":"Boehm, B. (1976). Software engineering. IEEE Transactions on Computers, 25(12), 1226\u20131241.","journal-title":"IEEE Transactions on Computers"},{"key":"9082_CR8","doi-asserted-by":"crossref","unstructured":"Briand, L., Devanbu, P., & Melo, W. (1997a). An investigation into coupling measures for C++. In Adrion W. R. (Ed.), Proceedings of the 19th international conference on software engineering (pp. 412\u2013421). ACM Press.","DOI":"10.1145\/253228.253367"},{"key":"9082_CR9","doi-asserted-by":"crossref","unstructured":"Briand, L. C., Daly, J. W., & W\u00fcst, J. K. (1997b). A unified framework for cohesion measurement. In S. L. Pfleeger & L. Ott (Eds.), Proceedings of the 4th international software metrics symposium (pp. 43\u201353). IEEE Computer Society Press.","DOI":"10.1109\/METRIC.1997.637164"},{"key":"9082_CR10","unstructured":"Brown, K. (1996). Design reverse-engineering and automated design pattern detection in Smalltalk. Technical Report TR-96-07, Department of Computer Science, University of Illinois at Urbana-Champaign."},{"key":"9082_CR11","unstructured":"Chidamber, S. R., & Kemerer, C. F. (1993). A metrics suite for object-oriented design. Technical Report E53-315, MIT Sloan School of Management."},{"key":"9082_CR12","doi-asserted-by":"crossref","unstructured":"Ciupke, O. (1999). Automatic detection of design problems in object-oriented reengineering. In D. Firesmith (Ed.), Proceeding of 30th conference on technology of object-oriented languages and systems (pp.18\u201332). IEEE Computer Society Press.","DOI":"10.1109\/TOOLS.1999.787532"},{"issue":"2","key":"9082_CR13","doi-asserted-by":"crossref","first-page":"294","DOI":"10.1147\/sj.282.0294","volume":"28","author":"T.A. Corbi","year":"1989","unstructured":"Corbi, T. A. (1989). Program understanding: Challenge for the 1990\u2019s. IBM Systems Journal, 28(2), 294\u2013306.","journal-title":"IBM Systems Journal"},{"key":"9082_CR14","unstructured":"Eppstein, D. (1995). Subgraph isomorphism in planar graphs and related problems. In K. Clarkson (Ed.), Proceedings of the 6th annual symposium on discrete algorithms (pp. 632\u2013640). ACM Press."},{"issue":"1\u20132","key":"9082_CR15","doi-asserted-by":"crossref","first-page":"21","DOI":"10.1016\/j.cl.2003.09.002","volume":"30","author":"J. Fabry","year":"2004","unstructured":"Fabry, J., & Mens, T. (2004). Language-independent detection of object-oriented design patterns. Computer Languages, Systems, and Structures, 30(1\u20132), 21\u201333.","journal-title":"Computer Languages, Systems, and Structures"},{"key":"9082_CR16","unstructured":"Gamma, E., & Eggenschwiler, T. (1998). JHotDraw. members.pingnet.ch\/gamma\/JHD-5.1.zip ."},{"key":"9082_CR17","unstructured":"Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design patterns\u2014elements of reusable object-oriented software (1st ed.). Addison-Wesley."},{"key":"9082_CR18","doi-asserted-by":"crossref","unstructured":"Gu\u00e9h\u00e9neuc, Y.-G., & Albin-Amiot, H. (2001). Using design patterns and constraints to automate the detection and correction of inter-class design defects. In Q. Li, R. Riehle, G. Pour, & B. Meyer (Eds.), Proceedings of the 39th conference on the technology of object-oriented languages and systems (TOOLS USA) (pp. 296\u2013305). IEEE Computer Society Press.","DOI":"10.1109\/TOOLS.2001.941682"},{"key":"9082_CR19","doi-asserted-by":"crossref","unstructured":"Gu\u00e9h\u00e9neuc, Y.-G., & Albin-Amiot, H. (2004). Recovering binary class relationships: Putting icing on the UML cake. In D. C. Schmidt (Ed.), Proceedings of the 19th conference on object-oriented programming, systems, languages, and applications (OOPSLA) (pp. 301\u2013314). ACM Press.","DOI":"10.1145\/1035292.1029002"},{"key":"9082_CR20","doi-asserted-by":"crossref","unstructured":"Gu\u00e9h\u00e9neuc, Y.-G., & Antoniol, G. (2008). DeMIMA: A multi-layered framework for design pattern identification. Transactions on Software Engineering (TSE), 34(5), 667\u2013684.","DOI":"10.1109\/TSE.2008.48"},{"key":"9082_CR21","unstructured":"Gu\u00e9h\u00e9neuc, Y.-G., & Jussien, N. (2001). Using explanations for design-patterns identification. In C. Bessi\u00e8re (Ed.), Proceedings of the 1st IJCAI workshop on modeling and solving problems with constraints (pp 57\u201364). AAAI Press."},{"key":"9082_CR22","doi-asserted-by":"crossref","unstructured":"Gu\u00e9h\u00e9neuc, Y.-G., Sahraoui, H., & Zaidi, F. (2004). Fingerprinting design patterns. In E. Stroulia & A. de Lucia, (Eds.), Proceedings of the 11th working conference on reverse engineering (WCRE) (pp.172\u2013181). IEEE Computer Society Press.","DOI":"10.1109\/WCRE.2004.21"},{"key":"9082_CR23","unstructured":"Heuzeroth, D., Holl, T., & L\u00f6we, W. (2002). Combining static and dynamic analyses to detect interaction patterns. In H. Ehrig, B. J. Kr\u00e4mer, & A. Ertas (Eds.), Proceedings the 6th world conference on integrated design and process technology. Society for Design and Process Science."},{"key":"9082_CR24","unstructured":"Hitz, M., & Montazeri, B. (1995). Measuring coupling and cohesion in object-oriented systems. In Proceedings of the 3rd intermational symposium on applied corporate computing (pp. 25\u201327). Texas A&M University."},{"key":"9082_CR25","unstructured":"Jahnke, J. H., & Z\u00fcndorf, A. (1997). Rewriting poor design patterns by good design patterns. In S. Demeyer & H. C. Gall (Eds.), Proceedings the 1st ESEC\/FSE workshop on object-oriented reengineering. Distributed Systems Group, Technical University of Vienna. TUV-1841-97-10."},{"key":"9082_CR26","unstructured":"Junker, U. (2001). QUICKXPLAIN: Conflict detection for arbitrary constraint propagation algorithms. Technical report, Ilog SA."},{"key":"9082_CR27","unstructured":"Jussien, N., & Barichard, V. (2000). The PaLM system: Explanation-based constraint programming. In N. Beldiceanu, W. Harvey, M. Henz, F. Laburthe, E. Monfroy, T. M\u00fcller, L. Perron, & C. Schulte (Eds.), Proceedings of TRICS: Techniques for implementing constraint programming systems (pp. 118\u2013133). School of Computing, National University of Singapore, Singapore. TRA9\/00."},{"key":"9082_CR28","doi-asserted-by":"crossref","unstructured":"Keller, R. K., Schauer, R., Robitaille, S., & Pag\u00e9, P. (1999). Pattern-based reverse-engineering of design components. In D. Garlan & J. Kramer (Eds.), Proceedings of the 21st international conference on software engineering (pp. 226\u2013235). ACM Press.","DOI":"10.1145\/302405.302622"},{"key":"9082_CR29","unstructured":"Kohavi, R. (1995). A study of cross-validation and bootstrap for accuracy estimation and model selection. In Proceedings of the 14th international joint conference on artificial intelligence (pp. 1137\u20131145). Morgan Kaufmann."},{"key":"9082_CR30","unstructured":"Koskinen, J. (2004). Software maintenance costs. http:\/\/users.jyu.fi\/~koskinen\/smcosts.htm ."},{"key":"9082_CR31","doi-asserted-by":"crossref","unstructured":"Kr\u00e4mer, C., & Prechelt, L. (1996). Design recovery by automated search for structural design patterns in object-oriented software. In L. M. Wills & I. Baxter (Eds.), Proceedings of the 3rd working conference on reverse engineering (pp. 208\u2013215). IEEE Computer Society Press.","DOI":"10.1109\/WCRE.1996.558905"},{"key":"9082_CR32","unstructured":"Labuthe, F. (2000). Choco: Implementing a CP kernel. In N. Beldiceanu (Ed.), Proceedings of the 1st workshop on techniques for implementing constraint programming systems, CP\u201900 at Singapore."},{"key":"9082_CR33","unstructured":"Lorenz, M., & Kidd, J. (1994). Object-oriented software metrics: A practical approach (1st ed.). Prentice-Hall."},{"key":"9082_CR34","unstructured":"Ng, K.-Y., & Gu\u00e9h\u00e9neuc, Y.-G. (2007). Identification of behavioral and creational design patterns through dynamic analysis. In A. Zaidman, A. Hamou-Lhadj, & O. Greevy (Eds.), Proceedings of the 3rd international workshop on program comprehension through dynamic analysis (PCODA) (pp. 34\u201342). Delft University of Technology. TUD-SERG-2007-022."},{"issue":"3","key":"9082_CR35","doi-asserted-by":"crossref","first-page":"347","DOI":"10.1023\/A:1008608825390","volume":"5","author":"A. Quilici","year":"1997","unstructured":"Quilici, A., Yang, Q., & Woods, S. (1997). Applying plan recognition algorithms to program understanding. Journal of Automated Software Engineering, 5(3), 347\u2013372.","journal-title":"Journal of Automated Software Engineering"},{"key":"9082_CR36","unstructured":"Scheglov, K., & Shackelford, J.-M. P. (2004). Eclipse profiler. http:\/\/eclipsecolorer.sourceforge.net\/index_profiler.html ."},{"issue":"2","key":"9082_CR37","doi-asserted-by":"crossref","first-page":"187","DOI":"10.1142\/S0218213094000108","volume":"3","author":"T. Schiex","year":"1994","unstructured":"Schiex, T., & Verfaillie, G. (1994). Nogood recording for static and dynamic constraint satisfaction problems. International Journal of Artificial Intelligence Tools, 3(2), 187\u2013207.","journal-title":"International Journal of Artificial Intelligence Tools"},{"key":"9082_CR38","unstructured":"Spinellis, D. (2003). Code reading: The open source perspective (1st ed.). Addison Wesley."},{"key":"9082_CR39","doi-asserted-by":"crossref","unstructured":"Stone, M. (1974). Cross-validatory choice and assessment of statistical predictions. Journal of the Royal Statistical Society Series B: Statistical Methodology, 36, 111\u2013147.","DOI":"10.1111\/j.2517-6161.1974.tb00994.x"},{"key":"9082_CR40","unstructured":"Straw, G. B. (2004). Detecting design pattern use in software designs. Master\u2019s thesis, Colorado State University."},{"issue":"3\u20134","key":"9082_CR41","doi-asserted-by":"crossref","first-page":"241","DOI":"10.1016\/0167-9236(93)E0045-F","volume":"13","author":"D.P. Tegarden","year":"1995","unstructured":"Tegarden, D. P., Sheetz, S. D., & Monarchi, D. E. (1995). A software complexity model of object-oriented systems. Decision Support Systems, 13(3\u20134), 241\u2013262.","journal-title":"Decision Support Systems"},{"issue":"11","key":"9082_CR42","doi-asserted-by":"crossref","first-page":"896","DOI":"10.1109\/TSE.2006.112","volume":"32","author":"N. Tsantalis","year":"2006","unstructured":"Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., & Halkidis, S. (2006). Design pattern detection using similarity scoring. Transactions on Software Engineering, 32(11), 896\u2013909.","journal-title":"Transactions on Software Engineering"},{"key":"9082_CR43","unstructured":"Wilde, N. (1994). Faster reuse and maintenance using software reconnaissance. Technical Report CSE-301, Software Engineering Research Center."},{"key":"9082_CR44","unstructured":"Witten, I. H., & Frank, E. (1999). Data mining: Practical machine learning tools and techniques with Java implementations (1st ed.). Morgan Kaufmann."},{"key":"9082_CR45","doi-asserted-by":"crossref","unstructured":"Wuyts, R. (1998). Declarative reasoning about the structure of object-oriented systems. In J. Gil (Ed.), Proceedings of the 26th conference on the technology of object-oriented languages and systems (pp. 112\u2013124). IEEE Computer Society Press.","DOI":"10.1109\/TOOLS.1998.711007"}],"container-title":["Software Quality Journal"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11219-009-9082-y.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11219-009-9082-y\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11219-009-9082-y","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,10,9]],"date-time":"2021-10-09T16:17:50Z","timestamp":1633796270000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11219-009-9082-y"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,8,14]]},"references-count":45,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2010,3]]}},"alternative-id":["9082"],"URL":"https:\/\/doi.org\/10.1007\/s11219-009-9082-y","relation":{},"ISSN":["0963-9314","1573-1367"],"issn-type":[{"value":"0963-9314","type":"print"},{"value":"1573-1367","type":"electronic"}],"subject":[],"published":{"date-parts":[[2009,8,14]]}}}