{"id":"https://openalex.org/W2020142017","doi":"https://doi.org/10.1145/1251535.1251548","title":"Dynamic purity analysis for java programs","display_name":"Dynamic purity analysis for java programs","publication_year":2007,"publication_date":"2007-06-13","ids":{"openalex":"https://openalex.org/W2020142017","doi":"https://doi.org/10.1145/1251535.1251548","mag":"2020142017"},"language":"en","primary_location":{"id":"doi:10.1145/1251535.1251548","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1251535.1251548","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and 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/A5035799778","display_name":"Haiying Xu","orcid":"https://orcid.org/0000-0001-8312-7346"},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Haiying Xu","raw_affiliation_strings":["McGill University, Montreal, PQ, Canada"],"affiliations":[{"raw_affiliation_string":"McGill University, Montreal, PQ, Canada","institution_ids":["https://openalex.org/I5023651"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079242204","display_name":"Christopher J. F. Pickett","orcid":null},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Christopher J. F. Pickett","raw_affiliation_strings":["McGill University, Montreal, PQ, Canada"],"affiliations":[{"raw_affiliation_string":"McGill University, Montreal, PQ, Canada","institution_ids":["https://openalex.org/I5023651"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001343030","display_name":"Clark Verbrugge","orcid":"https://orcid.org/0000-0003-0663-7347"},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Clark Verbrugge","raw_affiliation_strings":["McGill University, Montreal, PQ, Canada"],"affiliations":[{"raw_affiliation_string":"McGill University, Montreal, PQ, Canada","institution_ids":["https://openalex.org/I5023651"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5035799778"],"corresponding_institution_ids":["https://openalex.org/I5023651"],"apc_list":null,"apc_paid":null,"fwci":4.6934,"has_fulltext":false,"cited_by_count":41,"citation_normalized_percentile":{"value":0.94667828,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"75","last_page":"82"},"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.9995999932289124,"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.9995999932289124,"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.9987000226974487,"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"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9966999888420105,"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.8375216126441956},{"id":"https://openalex.org/keywords/memoization","display_name":"Memoization","score":0.7833179235458374},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7356889247894287},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.5504088997840881},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.546863853931427},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5186135768890381},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.5115143060684204},{"id":"https://openalex.org/keywords/byte","display_name":"Byte","score":0.49684956669807434},{"id":"https://openalex.org/keywords/range","display_name":"Range (aeronautics)","score":0.46051326394081116}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8375216126441956},{"id":"https://openalex.org/C79516417","wikidata":"https://www.wikidata.org/wiki/Q1376168","display_name":"Memoization","level":4,"score":0.7833179235458374},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7356889247894287},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.5504088997840881},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.546863853931427},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5186135768890381},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.5115143060684204},{"id":"https://openalex.org/C43364308","wikidata":"https://www.wikidata.org/wiki/Q8799","display_name":"Byte","level":2,"score":0.49684956669807434},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.46051326394081116},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C42560504","wikidata":"https://www.wikidata.org/wiki/Q15419395","display_name":"Top-down parsing","level":3,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1251535.1251548","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1251535.1251548","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":47,"referenced_works":["https://openalex.org/W9530364","https://openalex.org/W10064397","https://openalex.org/W1497762419","https://openalex.org/W1500987966","https://openalex.org/W1557543533","https://openalex.org/W1595979272","https://openalex.org/W1598901422","https://openalex.org/W1654262235","https://openalex.org/W1851113295","https://openalex.org/W1964830323","https://openalex.org/W1965784613","https://openalex.org/W1966449927","https://openalex.org/W1972427803","https://openalex.org/W1978270311","https://openalex.org/W1984914680","https://openalex.org/W1993836075","https://openalex.org/W1999707021","https://openalex.org/W2010540686","https://openalex.org/W2017381819","https://openalex.org/W2020521781","https://openalex.org/W2023222549","https://openalex.org/W2035829578","https://openalex.org/W2063886734","https://openalex.org/W2073065242","https://openalex.org/W2077850509","https://openalex.org/W2080696000","https://openalex.org/W2086019038","https://openalex.org/W2089171884","https://openalex.org/W2094160561","https://openalex.org/W2101786162","https://openalex.org/W2103000863","https://openalex.org/W2104224360","https://openalex.org/W2119151382","https://openalex.org/W2119228825","https://openalex.org/W2120485257","https://openalex.org/W2131135493","https://openalex.org/W2132685964","https://openalex.org/W2141442517","https://openalex.org/W2142501881","https://openalex.org/W2149901829","https://openalex.org/W2162544703","https://openalex.org/W2171240827","https://openalex.org/W2294191420","https://openalex.org/W3142830919","https://openalex.org/W4240168218","https://openalex.org/W4285719527","https://openalex.org/W6600381786"],"related_works":["https://openalex.org/W2966056201","https://openalex.org/W2182406401","https://openalex.org/W2772415251","https://openalex.org/W2971785569","https://openalex.org/W2610985003","https://openalex.org/W2583648466","https://openalex.org/W2810599929","https://openalex.org/W4248995387","https://openalex.org/W2762390662","https://openalex.org/W2038241762"],"abstract_inverted_index":{"The":[0],"pure":[1,85,100],"methods":[2],"in":[3,19],"a":[4,16,31,41],"program":[5],"are":[6],"those":[7],"that":[8,49,73,108],"exhibit":[9],"functional":[10],"or":[11],"side":[12],"effect":[13],"free":[14],"behaviour,":[15],"useful":[17],"property":[18],"many":[20],"contexts.":[21],"However,":[22],"existing":[23],"purity":[24,47,56,77,111],"investigations":[25],"present":[26],"primarily":[27],"staticresults.":[28],"We":[29,44,71,105],"perform":[30],"detailed":[32],"examination":[33],"of":[34,91,123],"dynamic":[35,60,75,115],"method":[36,76,101],"purityin":[37],"Java":[38],"programs":[39],"using":[40],"JVM-based":[42],"analysis.":[43],"evaluate":[45],"multiple":[46],"definitions":[48,112],"range":[50],"from":[51],"strong":[52],"to":[53,59],"weak,":[54],"consider":[55],"forms":[57],"specific":[58],"execution,":[61],"and":[62,88],"accomodate":[63],"constraintsimposed":[64],"by":[65],"an":[66],"example":[67],"consumer":[68,117],"application,":[69],"memoization.":[70],"show":[72,107],"while":[74,109],"is":[78],"actually":[79],"fairly":[80],"consistent":[81],"between":[82],"programs,":[83],"examining":[84],"invocation":[86],"counts":[87],"the":[89,92],"percentage":[90],"byte":[93],"code":[94],"instruction":[95],"stream":[96],"contained":[97],"within":[98],"some":[99],"reveals":[102],"great":[103],"variation.":[104],"also":[106],"weakening":[110],"exposes":[113],"considerable":[114],"purity,":[116],"requirements":[118],"can":[119],"limitthe":[120],"actual":[121],"utility":[122],"this":[124],"information.":[125]},"counts_by_year":[{"year":2021,"cited_by_count":3},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":4},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":9},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
