{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:41:57Z","timestamp":1750308117102,"version":"3.41.0"},"reference-count":12,"publisher":"Association for Computing Machinery (ACM)","issue":"8","license":[{"start":{"date-parts":[[2005,8,1]],"date-time":"2005-08-01T00:00:00Z","timestamp":1122854400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[2005,8]]},"abstract":"<jats:p>Existing Java software or libraries can evolve via subclassing. Unfortunately, subclassing may not properly support code adaptation when there are dependencies between classes. More precisely, subclassing in collections of related classes may require reimplementation of otherwise valid classes. This problem is defined as the subclassing anomaly, which is an issue when software evolution or code reuse is a goal of the programmer who is using existing classes. Object Teams offers an implicit fix to this problem and is largely compatible with the existing JVM's. In this paper, we evaluate how well Object Teams succeeds in providing a solution for a complex, real world project. Our results indicate that while Object Teams is a suitable solution for simple examples, it does not meet the requirements for large scale projects. The reasons why Object Teams fails in certain usages may prove useful to those who create linguistic modifications in languages or those who seek new methods for code adaptation.<\/jats:p>","DOI":"10.1145\/1089851.1089855","type":"journal-article","created":{"date-parts":[[2005,11,14]],"date-time":"2005-11-14T18:08:27Z","timestamp":1131991707000},"page":"12-18","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Handling the subclassing anomaly with Object Teams"],"prefix":"10.1145","volume":"40","author":[{"given":"Jeff","family":"Furlong","sequence":"first","affiliation":[{"name":"Chapman University, Orange, CA"}]},{"given":"Atanas","family":"Radenski","sequence":"additional","affiliation":[{"name":"Chapman University, Orange, CA"}]}],"member":"320","published-online":{"date-parts":[[2005,8]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/353171.353181"},{"key":"e_1_2_1_3_1","unstructured":"Jikes Homepage. &lt;http:\/\/www-124.ibm.com\/developerworks\/oss\/jikes\/&gt;.  Jikes Homepage. &lt;http:\/\/www-124.ibm.com\/developerworks\/oss\/jikes\/&gt;."},{"volume-title":"Java Language Specification","author":"Joy B.","key":"e_1_2_1_4_1","unstructured":"Joy , B. , Java Language Specification , Addison-Wesley Pub Co , New York , New York. Joy, B., et al. 2000. Java Language Specification, Addison-Wesley Pub Co, New York, New York."},{"key":"e_1_2_1_5_1","unstructured":"Laffra C. 2003. Java Bytecode Manipulation with JikesBT.  Laffra C. 2003. Java Bytecode Manipulation with JikesBT."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028976.1028986"},{"key":"e_1_2_1_7_1","unstructured":"Object Teams Language Definition. &lt;http:\/\/www.objectteams.org\/def\/index.html&gt;.  Object Teams Language Definition. &lt;http:\/\/www.objectteams.org\/def\/index.html&gt;."},{"key":"e_1_2_1_8_1","volume-title":"Technical Report 05, University of Technology","author":"Palsberg J.","year":"1997","unstructured":"Palsberg J. , and Jay , C. B. , 1997 . The essence of the visitor pattern. Technical Report 05, University of Technology , Sydney, Australia . Palsberg J., and Jay, C. B., 1997. The essence of the visitor pattern. Technical Report 05, University of Technology, Sydney, Australia."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(02)00137-1"},{"key":"e_1_2_1_10_1","volume-title":"Institute of Information Theories and Applications","volume":"10","author":"Radenski A.","year":"2003","unstructured":"Radenski , A. , 2003 . The Subclassing Anomaly in Compiler Evolution. International Journal on Information Theories and Applications , Institute of Information Theories and Applications , Sofia , Vol. 10 , No 4, 2003, 394--399. Radenski, A., 2003. The Subclassing Anomaly in Compiler Evolution. International Journal on Information Theories and Applications, Institute of Information Theories and Applications, Sofia, Vol. 10, No 4, 2003, 394--399."},{"volume-title":"An Extension Mechanism for the Java Language. Master's dissertation","author":"Tatsubori M.","key":"e_1_2_1_11_1","unstructured":"Tatsubori , M. , 1999. An Extension Mechanism for the Java Language. Master's dissertation , University of Tsukuba , Tsukuba City , Japan. Available from &lt;http:\/\/www.csg.is.titech.ac.jp\/openjava\/papers\/mich_thesis99.pdf&gt;. Tatsubori, M., 1999. An Extension Mechanism for the Java Language. Master's dissertation, University of Tsukuba, Tsukuba City, Japan. Available from &lt;http:\/\/www.csg.is.titech.ac.jp\/openjava\/papers\/mich_thesis99.pdf&gt;."},{"key":"e_1_2_1_12_1","volume-title":"Java: Compilers and Interpreters","author":"Watt D.","year":"2000","unstructured":"Watt , D. and Brown , D. , 2000 . Programming Language Processors in Java: Compilers and Interpreters , Prentice Hall, New York , New York . Watt, D. and Brown, D., 2000. Programming Language Processors in Java: Compilers and Interpreters, Prentice Hall, New York, New York."},{"key":"e_1_2_1_13_1","volume-title":"International Workshop on Unanticipated Software Evolution","author":"Zenger M.","year":"2002","unstructured":"Zenger , M. , 2002 . Evolving software with extensible modules . In: International Workshop on Unanticipated Software Evolution , M\u00e1laga, Spain. Available from &lt;http:\/\/zenger.gmxhome.de\/papers\/use02.pdf&gt;. Zenger, M., 2002. Evolving software with extensible modules. In: International Workshop on Unanticipated Software Evolution, M\u00e1laga, Spain. Available from &lt;http:\/\/zenger.gmxhome.de\/papers\/use02.pdf&gt;."}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1089851.1089855","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1089851.1089855","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:08:16Z","timestamp":1750262896000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1089851.1089855"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,8]]},"references-count":12,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2005,8]]}},"alternative-id":["10.1145\/1089851.1089855"],"URL":"https:\/\/doi.org\/10.1145\/1089851.1089855","relation":{},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"type":"print","value":"0362-1340"},{"type":"electronic","value":"1558-1160"}],"subject":[],"published":{"date-parts":[[2005,8]]},"assertion":[{"value":"2005-08-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}