{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,14]],"date-time":"2024-07-14T23:34:44Z","timestamp":1721000084217},"reference-count":37,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2016,8,8]],"date-time":"2016-08-08T00:00:00Z","timestamp":1470614400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2017,10]]},"DOI":"10.1007\/s10664-016-9448-2","type":"journal-article","created":{"date-parts":[[2016,8,8]],"date-time":"2016-08-08T01:41:42Z","timestamp":1470620502000},"page":"2612-2657","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["Fragile base-class problem, problem?"],"prefix":"10.1007","volume":"22","author":[{"given":"Aminata","family":"Saban\u00e9","sequence":"first","affiliation":[]},{"given":"Yann-Ga\u00ebl","family":"Gu\u00e9h\u00e9neuc","sequence":"additional","affiliation":[]},{"given":"Venera","family":"Arnaoudova","sequence":"additional","affiliation":[]},{"given":"Giuliano","family":"Antoniol","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2016,8,8]]},"reference":[{"key":"9448_CR1","unstructured":"Aldrich J (2004) Selective open recursion: A solution to the fragile base class problem. School of Computer Science Carnegie Mellon University"},{"key":"9448_CR2","doi-asserted-by":"crossref","unstructured":"An L, Khomh F, Adams B (2014) Supplementary bug fixes vs. re-opened bugs. In: 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation (SCAM)","DOI":"10.1109\/SCAM.2014.29"},{"key":"9448_CR3","unstructured":"Biberstein M, Sreedhar VC, Zaks A (2002) A case for sealing classes in Java. In: Israeli Workshop on Programming Languages & Development Environments"},{"key":"9448_CR4","unstructured":"Bloch J (2008) Effective java, 2nd edn. Addison-Wesley"},{"key":"9448_CR5","doi-asserted-by":"crossref","first-page":"245","DOI":"10.1016\/S0164-1212(99)00102-8","volume":"51","author":"LC Briand","year":"2000","unstructured":"Briand LC, W\u00fcst J, Daly J, Porter DV (2000) Exploring the relationship between design measures and software quality in object-oriented systems. J Syst Softw 51:245\u2013273","journal-title":"J Syst Softw"},{"key":"9448_CR6","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1007\/BF00368701","volume":"1","author":"J Daly","year":"1996","unstructured":"Daly J, Brooks A, Miller J, Roper M, Wood M (1996) Evaluating inheritance depth on the maintainability of object-oriented software. J Empir Softw Eng 1:109\u2013132","journal-title":"J Empir Softw Eng"},{"issue":"2","key":"9448_CR7","doi-asserted-by":"crossref","first-page":"331","DOI":"10.1145\/1119479.1119483","volume":"28","author":"S Ducasse","year":"2006","unstructured":"Ducasse S, Nierstrasz O, Sch\u00e4rli N, Wuyts R, Black AP (2006) Traits: A mechanism for fine-grained reuse. ACM Trans Program Lang Syst 28(2):331\u2013388","journal-title":"ACM Trans Program Lang Syst"},{"key":"9448_CR8","unstructured":"Gamma E, Helm R, Johnson R, Vlissides j (1995). Addison-Wesley, MA, USA"},{"key":"9448_CR9","doi-asserted-by":"crossref","unstructured":"Ghezzi C, Monga M (2002) Fostering component evolution with C# attributes. In: Proceedings of the International Workshop on Principles of Software Evolution. ACM, pp 22\u201328","DOI":"10.1145\/512035.512041"},{"key":"9448_CR10","unstructured":"Groves RM, Fowler FJ Jr, Couper MP, Lepkowski JM, Singer E, Tourangeau R (2009) Survey methodology, 2nd edn. Wiley"},{"key":"9448_CR11","doi-asserted-by":"crossref","unstructured":"Gu\u00e9h\u00e9neuc Y (2007) Ptidej: A flexible reverse engineering tool suite. In: IEEE International Conference on Software Maintenance, 2007. ICSM 2007, pp 529\u2013530","DOI":"10.1109\/ICSM.2007.4362684"},{"key":"9448_CR12","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: Schmidt DC (ed) Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM Press","DOI":"10.1145\/1035292.1029002"},{"key":"9448_CR13","unstructured":"Gu\u00e9h\u00e9neuc Y-G, Antoniol G (2008) DeMIMA: A multi-layered framework for design pattern identification. IEEE Trans Softw Eng:34"},{"key":"9448_CR14","doi-asserted-by":"crossref","first-page":"173","DOI":"10.1016\/S0164-1212(99)00144-2","volume":"52","author":"R Harrison","year":"2000","unstructured":"Harrison R, Counsell S, Nithi R (2000) Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems. J Syst Softw 52:173\u2013179","journal-title":"J Syst Softw"},{"key":"9448_CR15","doi-asserted-by":"crossref","unstructured":"H\u00fcrsch W (1994) Should superclasses be abstract? In: Tokoro M, Pareschi R (eds) Proceedings of the European Conference on Object-Oriented Programming, volume 821 of Lecture Notes in Computer Science. Springer, pp 12\u201331","DOI":"10.1007\/BFb0052174"},{"key":"9448_CR16","unstructured":"IBM (1994) IBM\u2019S system object model (SOM): Making reuse a reality. White paper, IBM Corporation, Object Technology Products Group"},{"key":"9448_CR17","doi-asserted-by":"crossref","unstructured":"Kegel H, Steimann F (2008) Systematically refactoring inheritance to delegation in Java. In: Proceedings of the International Conference on Software Engineering. ACM, pp 431\u2013440","DOI":"10.1145\/1368088.1368147"},{"key":"9448_CR18","doi-asserted-by":"crossref","unstructured":"Khomh F, Penta MD, Gu\u00e9h\u00e9neuc Y-G, Antoniol G (2011) An exploratory study of the impact of antipatterns on class change- and fault-proneness. Empirical Software Engineering (EMSE)","DOI":"10.1007\/s10664-011-9171-y"},{"key":"9448_CR19","doi-asserted-by":"crossref","unstructured":"Kiczales G, Lamping J (1992) Issues in the design and speciffication of class libraries. In: Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp 435\u2013451","DOI":"10.1145\/141936.141971"},{"key":"9448_CR20","doi-asserted-by":"crossref","first-page":"449","DOI":"10.1109\/TSE.2002.1000449","volume":"28","author":"T Mens","year":"2002","unstructured":"Mens T (2002) A state-of-the-art survey on software merging. IEEE Trans Softw Eng 28:449\u2013462","journal-title":"IEEE Trans Softw Eng"},{"key":"9448_CR21","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/263700.263701","volume":"32","author":"M Mezini","year":"1997","unstructured":"Mezini M (1997) Maintaining the consistency of class libraries during their evolution. SIGPLAN Not 32:1\u201321","journal-title":"SIGPLAN Not"},{"key":"9448_CR22","doi-asserted-by":"crossref","unstructured":"Mezini M, Pipka JU, Dittmar T, Boot W (1999) Detecting evolution incompatibilities by analyzing java binaries. In: Proceedings of the Technology of Object-Oriented Languages and Systems. IEEE CS Press, pp 126\u2013135","DOI":"10.1109\/TOOLS.1999.787542"},{"key":"9448_CR23","doi-asserted-by":"crossref","unstructured":"Mikhajlov L, Sekerinski E (1998) A study of the fragile base class problem. In: Proceedings of the European Conference on Object-Oriented Programming, pp 355\u2013382","DOI":"10.1007\/BFb0054099"},{"key":"9448_CR24","doi-asserted-by":"crossref","unstructured":"Ozaki H, Gondow K, Katayama T (2003) Class refinement for software evolution. In: Proceedings of the International Workshop on Principles of Software Evolution. IEEE CS Press, pp 51\u201356","DOI":"10.1109\/IWPSE.2003.1231209"},{"key":"9448_CR25","doi-asserted-by":"crossref","first-page":"75","DOI":"10.1145\/1328897.1328451","volume":"43","author":"MJ Parkinson","year":"2008","unstructured":"Parkinson MJ, Bierman GM (2008) Separation logic, abstraction and inheritance. SIGPLAN Not 43:75\u201386","journal-title":"SIGPLAN Not"},{"issue":"3","key":"9448_CR26","doi-asserted-by":"crossref","first-page":"745","DOI":"10.1007\/s10664-013-9298-0","volume":"20","author":"R Robbes","year":"2015","unstructured":"Robbes R, Rthlisberger D, Tanter R (2015) Empir Softw Eng 20(3):745\u2013782","journal-title":"Empir Softw Eng"},{"key":"9448_CR27","doi-asserted-by":"crossref","first-page":"208","DOI":"10.1145\/354222.353186","volume":"35","author":"C Ruby","year":"2000","unstructured":"Ruby C, Leavens GT (2000) Safely creating correct subclasses without seeing superclass code. SIGPLAN Not 35:208\u2013228","journal-title":"SIGPLAN Not"},{"key":"9448_CR28","unstructured":"Sheskin DJ (2007a) Handbook of parametric and nonparametric statistical procedures, 4th edn. Chapman & Hall\/CRC"},{"key":"9448_CR29","unstructured":"Sheskin DJ (2007b) Handbook of parametric and nonparametric statistical procedures, 4th edn. Chapman & All"},{"key":"9448_CR30","doi-asserted-by":"crossref","unstructured":"Snyder A (1986) Encapsulation and inheritance in object-oriented programming languages. In: Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp 38\u201345","DOI":"10.1145\/28697.28702"},{"key":"9448_CR31","doi-asserted-by":"crossref","first-page":"268","DOI":"10.1145\/236338.236363","volume":"31","author":"P Steyaert","year":"1996","unstructured":"Steyaert P, Lucas C, Mens K, D\u2019Hondt T (1996) Reuse contracts: Managing the evolution of reusable assets. SIGPLAN Not 31:268\u2013285","journal-title":"SIGPLAN Not"},{"key":"9448_CR32","unstructured":"Taenzer D, Gandi M, Podar S (1989) Problems in object-oriented software reuse. In: Proceedings of the European Conference on Object-Oriented Programming. Cambridge University Press, pp 25\u201338"},{"key":"9448_CR33","unstructured":"Tempero E, Counsell S, Noble J (2010) An empirical study of overriding in open source java. In: Proceedings of the Australasian Computer Science Conference, Australian Computer Society, Inc, pp 3\u201312"},{"key":"9448_CR34","doi-asserted-by":"crossref","unstructured":"Tempero E, Noble J, Melton H (2008) How do java programs use inheritance? An empirical study of inheritance in java software. In: Proceedings of the European Conference on Object-Oriented Programming. Springer, pp 667\u2013691","DOI":"10.1007\/978-3-540-70592-5_28"},{"key":"9448_CR35","doi-asserted-by":"crossref","unstructured":"Wegner P, Zdonik S (1988) Inheritance as an incremental modification mechanism or what like is and isnt like. In: Proceedings of the European Conference on Object-Oriented Programming, volume 322 of Lecture Notes in Computer Science. Springer, Berlin Heidelberg, pp 55\u201377","DOI":"10.1007\/3-540-45910-3_4"},{"key":"9448_CR36","unstructured":"Williams S, Kinde C (1994) The component object model: Technical overview. Dr. Dobbs Journal"},{"key":"9448_CR37","doi-asserted-by":"crossref","unstructured":"Wohlin C, Runeson P, H\u00f6st M, Ohlsson MC, Regnell B, Wessl\u00e9n A (2000) Experimentation in software engineering - an introduction. Kluwer Academic Publishers","DOI":"10.1007\/978-1-4615-4625-2"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-016-9448-2\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-016-9448-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-016-9448-2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-016-9448-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,12]],"date-time":"2019-09-12T04:13:12Z","timestamp":1568261592000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-016-9448-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,8,8]]},"references-count":37,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2017,10]]}},"alternative-id":["9448"],"URL":"https:\/\/doi.org\/10.1007\/s10664-016-9448-2","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,8,8]]}}}