{"id":"https://openalex.org/W1967081032","doi":"https://doi.org/10.1145/1595768.1595776","title":"Safe reflection through polymorphism","display_name":"Safe reflection through polymorphism","publication_year":2009,"publication_date":"2009-08-24","ids":{"openalex":"https://openalex.org/W1967081032","doi":"https://doi.org/10.1145/1595768.1595776","mag":"1967081032"},"language":"en","primary_location":{"id":"doi:10.1145/1595768.1595776","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1595768.1595776","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the first international workshop on Context-aware software technology and applications","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/A5057639638","display_name":"T. Verwaest","orcid":"https://orcid.org/0000-0002-3911-6962"},"institutions":[{"id":"https://openalex.org/I118564535","display_name":"University of Bern","ror":"https://ror.org/02k7v4d05","country_code":"CH","type":"education","lineage":["https://openalex.org/I118564535"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Toon Verwaest","raw_affiliation_strings":["University of Bern, Bern, Switzerland","University of Bern -- Bern, Switzerland#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Bern, Bern, Switzerland","institution_ids":["https://openalex.org/I118564535"]},{"raw_affiliation_string":"University of Bern -- Bern, Switzerland#TAB#","institution_ids":["https://openalex.org/I118564535"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5002132379","display_name":"Lukas Renggli","orcid":null},"institutions":[{"id":"https://openalex.org/I118564535","display_name":"University of Bern","ror":"https://ror.org/02k7v4d05","country_code":"CH","type":"education","lineage":["https://openalex.org/I118564535"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Lukas Renggli","raw_affiliation_strings":["University of Bern, Bern, Switzerland","University of Bern -- Bern, Switzerland#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Bern, Bern, Switzerland","institution_ids":["https://openalex.org/I118564535"]},{"raw_affiliation_string":"University of Bern -- Bern, Switzerland#TAB#","institution_ids":["https://openalex.org/I118564535"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.9059,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.79608783,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"21","last_page":"24"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9973000288009644,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.9973000288009644,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9926999807357788,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9919000267982483,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/interpreter","display_name":"Interpreter","score":0.818626880645752},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7647135257720947},{"id":"https://openalex.org/keywords/encapsulation","display_name":"Encapsulation (networking)","score":0.7032553553581238},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.633002519607544},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.6254673600196838},{"id":"https://openalex.org/keywords/homogeneous","display_name":"Homogeneous","score":0.5093842148780823},{"id":"https://openalex.org/keywords/reflection","display_name":"Reflection (computer programming)","score":0.4263332486152649},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.10009616613388062},{"id":"https://openalex.org/keywords/physics","display_name":"Physics","score":0.08277174830436707}],"concepts":[{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.818626880645752},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7647135257720947},{"id":"https://openalex.org/C81147070","wikidata":"https://www.wikidata.org/wiki/Q1172449","display_name":"Encapsulation (networking)","level":2,"score":0.7032553553581238},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.633002519607544},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.6254673600196838},{"id":"https://openalex.org/C66882249","wikidata":"https://www.wikidata.org/wiki/Q169336","display_name":"Homogeneous","level":2,"score":0.5093842148780823},{"id":"https://openalex.org/C65682993","wikidata":"https://www.wikidata.org/wiki/Q1056451","display_name":"Reflection (computer programming)","level":2,"score":0.4263332486152649},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.10009616613388062},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.08277174830436707},{"id":"https://openalex.org/C97355855","wikidata":"https://www.wikidata.org/wiki/Q11473","display_name":"Thermodynamics","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1595768.1595776","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1595768.1595776","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the first international workshop on Context-aware software technology and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:boris.unibe.ch:37173","is_oa":false,"landing_page_url":"https://boris.unibe.ch/37173/","pdf_url":null,"source":{"id":"https://openalex.org/S4306401086","display_name":"Bern Open Repository and Information System (University of Bern)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I118564535","host_organization_name":"University of Bern","host_organization_lineage":["https://openalex.org/I118564535"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Verwaest, Toon; Renggli, Lukas (2009). Safe Reflection Through Polymorphism. In: CASTA '09: Proceedings of the first international workshop on Context-aware software technology and applications (pp. 21-24). New York: Association for Computing Machinery ACM 10.1145/1595768.1595776 &lt;http://dx.doi.org/10.1145/1595768.1595776&gt;","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":11,"referenced_works":["https://openalex.org/W177336280","https://openalex.org/W2050580202","https://openalex.org/W2058213389","https://openalex.org/W2066108882","https://openalex.org/W2095839043","https://openalex.org/W2111681458","https://openalex.org/W2120214216","https://openalex.org/W2136682657","https://openalex.org/W2168287017","https://openalex.org/W2172147300","https://openalex.org/W2531523631"],"related_works":["https://openalex.org/W2277514059","https://openalex.org/W1721418433","https://openalex.org/W2463512549","https://openalex.org/W3089412887","https://openalex.org/W2246915267","https://openalex.org/W2004305899","https://openalex.org/W1844878253","https://openalex.org/W2611574984","https://openalex.org/W2548985027","https://openalex.org/W2412406728"],"abstract_inverted_index":{"Code":[0],"executed":[1],"in":[2,24,43,92],"a":[3,84],"fully":[4],"reflective":[5,34],"system":[6,86],"switches":[7],"back":[8],"and":[9,13,69,79],"forth":[10],"between":[11],"application":[12,53,80],"interpreter":[14,78],"code.":[15],"These":[16],"two":[17],"states":[18],"can":[19],"be":[20],"seen":[21],"as":[22],"contexts":[23],"which":[25],"an":[26],"expression":[27],"is":[28,100],"evaluated.":[29],"Current":[30],"language":[31],"implementations":[32],"obtain":[33],"capabilities":[35],"by":[36,65],"exposing":[37],"objects":[38,74],"to":[39],"the":[40,49,52,67,71,77,89],"interpreter.":[41],"However,":[42],"doing":[44],"so":[45],"these":[46],"systems":[47],"break":[48],"encapsulation":[50,72,99],"of":[51,73,94],"objects.":[54],"In":[55],"this":[56],"paper":[57],"we":[58],"propose":[59],"safe":[60],"reflection":[61],"through":[62],"polymorphism,":[63],"i.e.":[64],"unifying":[66],"interface":[68],"ensuring":[70],"from":[75],"both":[76],"context.":[81],"We":[82],"demonstrate":[83],"homogeneous":[85],"that":[87,98],"defines":[88],"execution":[90],"semantics":[91],"terms":[93],"itself,":[95],"thus":[96],"enforcing":[97],"not":[101],"broken.":[102]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
