{"id":"https://openalex.org/W2149082609","doi":"https://doi.org/10.1145/1985793.1985803","title":"Transformation for class immutability","display_name":"Transformation for class immutability","publication_year":2011,"publication_date":"2011-05-21","ids":{"openalex":"https://openalex.org/W2149082609","doi":"https://doi.org/10.1145/1985793.1985803","mag":"2149082609"},"language":"en","primary_location":{"id":"doi:10.1145/1985793.1985803","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1985793.1985803","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 33rd International Conference on Software Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5041886781","display_name":"Fredrik Kj\u00f8lstad","orcid":"https://orcid.org/0000-0002-2267-903X"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Fredrik Kjolstad","raw_affiliation_strings":["University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA"],"affiliations":[{"raw_affiliation_string":"University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5019404521","display_name":"Danny Dig","orcid":"https://orcid.org/0000-0001-5046-2017"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Danny Dig","raw_affiliation_strings":["University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA"],"affiliations":[{"raw_affiliation_string":"University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062845823","display_name":"Gabriel Acevedo","orcid":null},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Gabriel Acevedo","raw_affiliation_strings":["University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA"],"affiliations":[{"raw_affiliation_string":"University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5041731995","display_name":"Marc Snir","orcid":"https://orcid.org/0000-0002-3504-2468"},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Marc Snir","raw_affiliation_strings":["University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA"],"affiliations":[{"raw_affiliation_string":"University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5041886781"],"corresponding_institution_ids":["https://openalex.org/I157725225"],"apc_list":null,"apc_paid":null,"fwci":6.2858,"has_fulltext":false,"cited_by_count":29,"citation_normalized_percentile":{"value":0.97048475,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"61","last_page":"70"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12423","display_name":"Software Reliability and Analysis Research","score":0.9959999918937683,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7943235635757446},{"id":"https://openalex.org/keywords/immutability","display_name":"Immutability","score":0.7934598922729492},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.781650960445404},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.7232098579406738},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6639587879180908},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.651930034160614},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6401755213737488},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.6066557168960571},{"id":"https://openalex.org/keywords/transitive-relation","display_name":"Transitive relation","score":0.5258222818374634},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.5008013248443604},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.4115738868713379},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.40459197759628296},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.13819748163223267},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.12934300303459167}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7943235635757446},{"id":"https://openalex.org/C2776126399","wikidata":"https://www.wikidata.org/wiki/Q3942906","display_name":"Immutability","level":3,"score":0.7934598922729492},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.781650960445404},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.7232098579406738},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6639587879180908},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.651930034160614},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6401755213737488},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.6066557168960571},{"id":"https://openalex.org/C191399111","wikidata":"https://www.wikidata.org/wiki/Q64861","display_name":"Transitive relation","level":2,"score":0.5258222818374634},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.5008013248443604},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.4115738868713379},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.40459197759628296},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.13819748163223267},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12934300303459167},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C2779687700","wikidata":"https://www.wikidata.org/wiki/Q20514253","display_name":"Blockchain","level":2,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1985793.1985803","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1985793.1985803","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 33rd International Conference on Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.6000000238418579,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W125251596","https://openalex.org/W1500987966","https://openalex.org/W1549891226","https://openalex.org/W1595593557","https://openalex.org/W1649645444","https://openalex.org/W1966449927","https://openalex.org/W1972064644","https://openalex.org/W1972427803","https://openalex.org/W2009825697","https://openalex.org/W2014530617","https://openalex.org/W2043732148","https://openalex.org/W2070310827","https://openalex.org/W2077850509","https://openalex.org/W2111544394","https://openalex.org/W2119228825","https://openalex.org/W2137956345","https://openalex.org/W2144778294","https://openalex.org/W2145708265","https://openalex.org/W2148189199","https://openalex.org/W2152759860","https://openalex.org/W2154563336","https://openalex.org/W2293447350","https://openalex.org/W6635497607","https://openalex.org/W7038634830"],"related_works":["https://openalex.org/W1517747134","https://openalex.org/W2802479602","https://openalex.org/W4386576376","https://openalex.org/W1570380538","https://openalex.org/W4299818930","https://openalex.org/W85300993","https://openalex.org/W2467059325","https://openalex.org/W263998227","https://openalex.org/W2963664616","https://openalex.org/W2273457068"],"abstract_inverted_index":{"It":[0],"is":[1,77],"common":[2],"for":[3],"object-oriented":[4],"programs":[5],"to":[6,23],"have":[7,22],"both":[8],"mutable":[9,38,45],"and":[10,57,74],"immutable":[11,30,40],"classes.":[12,41],"Immutable":[13],"classes":[14,31],"simplify":[15],"programing":[16],"because":[17],"the":[18,65,68,75],"programmer":[19],"does":[20],"not":[21],"reason":[24],"about":[25],"side-effects.":[26],"Sometimes":[27],"programmers":[28,47],"write":[29],"from":[32],"scratch,":[33],"other":[34],"times":[35],"they":[36],"transform":[37,43],"into":[39],"To":[42],"a":[44],"class,":[46],"must":[48],"find":[49],"all":[50,58],"methods":[51],"that":[52,60],"mutate":[53],"its":[54],"transitive":[55],"state":[56,66],"objects":[59],"can":[61,81],"enter":[62],"or":[63],"escape":[64],"of":[67],"class.":[69],"The":[70],"analyses":[71],"are":[72],"non-trivial":[73],"rewriting":[76],"tedious.":[78],"Fortunately,":[79],"this":[80],"be":[82],"automated.":[83]},"counts_by_year":[{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":6},{"year":2014,"cited_by_count":6},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
