{"id":"https://openalex.org/W2058782789","doi":"https://doi.org/10.1145/1181195.1181210","title":"Specifying java iterators with JML and Esc/Java2","display_name":"Specifying java iterators with JML and Esc/Java2","publication_year":2006,"publication_date":"2006-11-10","ids":{"openalex":"https://openalex.org/W2058782789","doi":"https://doi.org/10.1145/1181195.1181210","mag":"2058782789"},"language":"en","primary_location":{"id":"doi:10.1145/1181195.1181210","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1181195.1181210","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2006 conference on Specification and verification of component-based systems","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/A5073886655","display_name":"David R. Cok","orcid":"https://orcid.org/0000-0003-1864-4974"},"institutions":[{"id":"https://openalex.org/I4210159451","display_name":"Kodak (United States)","ror":"https://ror.org/04rn3ph18","country_code":"US","type":"company","lineage":["https://openalex.org/I4210159451"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"David R. Cok","raw_affiliation_strings":["Eastman Kodak Company, NY","Eastman Kodak Company, NY#TAB#"],"affiliations":[{"raw_affiliation_string":"Eastman Kodak Company, NY","institution_ids":["https://openalex.org/I4210159451"]},{"raw_affiliation_string":"Eastman Kodak Company, NY#TAB#","institution_ids":["https://openalex.org/I4210159451"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5073886655"],"corresponding_institution_ids":["https://openalex.org/I4210159451"],"apc_list":null,"apc_paid":null,"fwci":0.4518,"has_fulltext":false,"cited_by_count":7,"citation_normalized_percentile":{"value":0.73206467,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"71","last_page":"74"},"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.9994000196456909,"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.9994000196456909,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9980000257492065,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9968000054359436,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.8798859119415283},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8650380373001099},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.814909040927887},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.6900210380554199},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.4709502160549164},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.4454525113105774},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.4283202886581421},{"id":"https://openalex.org/keywords/programming-language-specification","display_name":"Programming language specification","score":0.4105077087879181},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.3745574355125427},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.12998247146606445},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.10825842618942261}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8798859119415283},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8650380373001099},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.814909040927887},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.6900210380554199},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.4709502160549164},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4454525113105774},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.4283202886581421},{"id":"https://openalex.org/C15077461","wikidata":"https://www.wikidata.org/wiki/Q7248507","display_name":"Programming language specification","level":5,"score":0.4105077087879181},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.3745574355125427},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.12998247146606445},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.10825842618942261},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1181195.1181210","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1181195.1181210","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2006 conference on Specification and verification of component-based systems","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":5,"referenced_works":["https://openalex.org/W1580328473","https://openalex.org/W1964830323","https://openalex.org/W1993836075","https://openalex.org/W2166985644","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2541866089","https://openalex.org/W2547095320","https://openalex.org/W1572758480","https://openalex.org/W1519944186","https://openalex.org/W1974508891","https://openalex.org/W3172992491","https://openalex.org/W2181544444","https://openalex.org/W2365754790","https://openalex.org/W1572739102","https://openalex.org/W2915240685"],"abstract_inverted_index":{"The":[0,76],"2006":[1],"SAVCBS":[2],"Workshop":[3],"has":[4],"posed":[5],"a":[6,18],"Challenge":[7],"Problem":[8],"on":[9,82],"the":[10,21,29,37,61,66,74,83],"topic":[11],"of":[12,85],"specifying":[13],"iterators.":[14],"This":[15],"note":[16],"provides":[17],"specification":[19,89],"in":[20],"Java":[22,30],"Modeling":[23],"Language":[24],"(JML)":[25],"[1,":[26],"2]":[27],"for":[28,87],"interfaces":[31,49,67],"Iterator":[32],"and":[33],"Iterable":[34],"that":[35,46,60,65],"captures":[36],"interactions":[38],"between":[39],"these":[40,48],"two":[41],"interfaces.":[42],"An":[43],"example":[44,59],"program":[45],"uses":[47],"is":[50],"checked":[51],"using":[52],"Esc/Java2":[53,62],"[3,":[54],"4,":[55],"5],":[56],"demonstrating":[57],"by":[58,73],"tool":[63],"checks":[64],"are":[68],"used":[69],"only":[70],"as":[71],"required":[72],"specifications.":[75],"concluding":[77],"section":[78],"contains":[79],"some":[80],"observations":[81],"limitations":[84],"JML":[86],"this":[88],"task.":[90]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2014,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
