{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,30]],"date-time":"2026-04-30T10:28:53Z","timestamp":1777544933753,"version":"3.51.4"},"reference-count":23,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2012,3,17]],"date-time":"2012-03-17T00:00:00Z","timestamp":1331942400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2013,12]]},"DOI":"10.1007\/s10664-012-9203-2","type":"journal-article","created":{"date-parts":[[2012,3,16]],"date-time":"2012-03-16T06:11:14Z","timestamp":1331878274000},"page":"1156-1194","source":"Crossref","is-referenced-by-count":26,"title":["How (and why) developers use the dynamic features of programming languages: the case of smalltalk"],"prefix":"10.1007","volume":"18","author":[{"given":"Oscar","family":"Calla\u00fa","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Romain","family":"Robbes","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"\u00c9ric","family":"Tanter","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"R\u00f6thlisberger","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2012,3,17]]},"reference":[{"key":"9203_CR1","doi-asserted-by":"crossref","unstructured":"Aldrich J, Sunshine J, Saini D, Sparks Z (2009) Typestate-oriented programming. In: OOPSLA \u201909: proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, New York, NY, USA. ACM, pp 1015\u20131022","DOI":"10.1145\/1639950.1640073"},{"key":"9203_CR2","doi-asserted-by":"crossref","unstructured":"Bracha G, Griswold D (1993) Strongtalk: typechecking Smalltalk in a production environment. In: OOPSLA \u201993: proceedings of the 8th international conference on object-oriented programming systems, languages and applications, pp\u00a0215\u2013230","DOI":"10.1145\/165854.165893"},{"key":"9203_CR3","doi-asserted-by":"crossref","unstructured":"Bodden E, Sewe A, Sinschek J, Mezini M, Oueslati H (2010) Taming reflection (extended version): static analysis in the presence of reflection and custom class loaders. Technical report, TU Darmstadt","DOI":"10.1145\/1985793.1985827"},{"key":"9203_CR4","doi-asserted-by":"crossref","unstructured":"Bodden E, Sewe A, Sinschek J, Mezini M, Oueslati H (2011) Taming reflection: aiding static analysis in the presence of reflection and custom class loaders. In: ICSE \u201911: proceedings of the 33rd ACM\/IEEE international conference on software engineering. ACM Press, pp\u00a0241\u2013250","DOI":"10.1145\/1985793.1985827"},{"key":"9203_CR5","unstructured":"Erd\u00f6s K, Sneed HM (1998) Partial comprehension of complex programs (enough to perform maintenance). In: IWPC \u201998: proceedings of the 6th international workshop on program comprehension, Washington, DC, USA. IEEE Computer Society, p\u00a098"},{"key":"9203_CR6","doi-asserted-by":"crossref","unstructured":"Grechanik M, McMillan C, DeFerrari L, Comi M, Crespi S, Poshyvanyk D, Fu C, Xie Q, Ghezzi C (2010) An empirical investigation into a large-scale java open source code repository. In: ESEM \u201910: proceedings of the 4th international symposium on empirical software engineering and measurement, pp 1\u201310","DOI":"10.1145\/1852786.1852801"},{"key":"9203_CR7","unstructured":"Goldberg A, Robson D (1983) Smalltalk-80: the language and its implementation. Addison-Wesley"},{"key":"9203_CR8","unstructured":"Holkner A, Harland J (2009) Evaluating the dynamic behaviour of python applications. In: ACSC \u201909: proceedings of the 32nd Australasian computer science conference, pp 17\u201325"},{"issue":"2","key":"9203_CR9","doi-asserted-by":"crossref","first-page":"105","DOI":"10.1002\/spe.4380010203","volume":"1","author":"DE Knuth","year":"1971","unstructured":"Knuth DE (1971) An empirical study of fortran programs. Softw Pract Exp 1(2):105\u2013133","journal-title":"Softw Pract Exp"},{"key":"9203_CR10","doi-asserted-by":"crossref","unstructured":"Lungu M, Robbes R, Lanza M (2010) Recovering inter-project dependencies in software ecosystems. In: ASE\u201910: proceedings of the 25th IEEE\/ACM international conference on Automated Software Engineering, ASE \u201910, pp 309\u2013312","DOI":"10.1145\/1858996.1859058"},{"key":"9203_CR11","doi-asserted-by":"crossref","unstructured":"Malayeri D, Aldrich J (2009) Is structural subtyping useful? An empirical study. In: ESOP \u201909: proceedings of the 18th European symposium on programming languages and systems, pp 95\u2013111","DOI":"10.21236\/ADA512414"},{"key":"9203_CR12","doi-asserted-by":"crossref","unstructured":"Mezini M (ed) (2011) Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP 2011). Lecture notes in computer science, Lancaster, UK, vol 6813. Springer","DOI":"10.1007\/978-3-642-22655-7"},{"key":"9203_CR13","doi-asserted-by":"crossref","unstructured":"Muschevici R, Potanin A, Tempero ED, Noble J (2008) Multiple dispatch in practice. In: OOPSLA \u201908: proceedings of the 23rd ACM international conference on object-oriented programming, systems, languages, and applications, pp 563\u2013582","DOI":"10.1145\/1449764.1449808"},{"issue":"4","key":"9203_CR14","doi-asserted-by":"crossref","first-page":"389","DOI":"10.1007\/s10664-006-9033-1","volume":"12","author":"H Melton","year":"2007","unstructured":"Melton H, Tempero ED (2007) An empirical study of cycles among classes in java. Empir Software Eng 12(4):389\u2013415","journal-title":"Empir Software Eng"},{"key":"9203_CR15","doi-asserted-by":"crossref","unstructured":"Parnin C, Bird C, Murphy-Hill ER (2011) Java generics adoption: how new features are introduced, championed, or ignored. In: MSR 2011: proceedings of the 8th international working conference on mining software repositories, pp\u00a03\u201312","DOI":"10.1145\/1985441.1985446"},{"key":"9203_CR16","doi-asserted-by":"crossref","unstructured":"Richards G, Lebresne S, Burg B, Vitek J (2010) An analysis of the dynamic behavior of Javascript programs. In: PLDI \u201910: proceedings of the 31st ACM conference on programming language design and implementation, pp\u00a01\u201312","DOI":"10.1145\/1806596.1806598"},{"key":"9203_CR17","doi-asserted-by":"crossref","unstructured":"Richards G, Lebresne S, Burg B, Vitek J (2011) The eval that men do: a large-scale study of the use of eval in Javascript applications. In: Mezini M (ed) Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP 2011). Lecture Notes in Computer Science, Lancaster, UK, vol 6813. Springer,\u00a0pp 52\u201378","DOI":"10.1007\/978-3-642-22655-7_4"},{"key":"9203_CR18","doi-asserted-by":"crossref","unstructured":"Sch\u00e4rli N, Black A, Ducasse S (2004) Object-oriented encapsulation for dynamically-typed languages. In: Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2004), Vancouver, British Columbia, Canada. ACM Press, pp\u00a0130\u2013149","DOI":"10.1145\/1028976.1028988"},{"key":"9203_CR19","doi-asserted-by":"crossref","unstructured":"Tempero ED (2009) How fields are used in Java: an empirical study. In: ASWEC \u201909: proceedings of the 20th Australian software engineering conference, pp 91\u2013100","DOI":"10.1109\/ASWEC.2009.19"},{"key":"9203_CR20","doi-asserted-by":"crossref","unstructured":"Tempero ED, Noble J, Melton H (2008) How do Java programs use inheritance? An empirical study of inheritance in Java software. In: ECOOP \u201908: proceedings of the 22nd European conference on object-oriented programming, pp\u00a0667\u2013691","DOI":"10.1007\/978-3-540-70592-5_28"},{"key":"9203_CR21","unstructured":"Triola M (2006) Elementary statistics, 10th edn. Addison-Wesley"},{"key":"9203_CR22","doi-asserted-by":"crossref","unstructured":"Van Rysselberghe F, Demeyer S (2007) Studying versioning information to understand inheritance hierarchy changes. In: MSR \u201907: proceedings of the 4th international workshop on mining software repositories, p 16","DOI":"10.1109\/MSR.2007.30"},{"key":"9203_CR23","doi-asserted-by":"crossref","unstructured":"Wolff R, Garcia R (2011) \u00c9ric Tanter, and Jonathan Aldrich. Gradual typestate. In: Mezini M (ed) Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP 2011). Lecture notes in computer science, Lancaster, UK, vol 6813. Springer","DOI":"10.1007\/978-3-642-22655-7_22"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-012-9203-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-012-9203-2\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-012-9203-2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,25]],"date-time":"2019-06-25T06:14:13Z","timestamp":1561443253000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-012-9203-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,3,17]]},"references-count":23,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2013,12]]}},"alternative-id":["9203"],"URL":"https:\/\/doi.org\/10.1007\/s10664-012-9203-2","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,3,17]]}}}