{"id":"https://openalex.org/W2035405585","doi":"https://doi.org/10.1145/1111037.1111043","title":"Engineering with logic","display_name":"Engineering with logic","publication_year":2006,"publication_date":"2006-01-11","ids":{"openalex":"https://openalex.org/W2035405585","doi":"https://doi.org/10.1145/1111037.1111043","mag":"2035405585"},"language":"en","primary_location":{"id":"doi:10.1145/1111037.1111043","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1111037.1111043","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages","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/A5111568839","display_name":"Steve Bishop","orcid":null},"institutions":[{"id":"https://openalex.org/I4210096386","display_name":"Bridge University","ror":"https://ror.org/00cbm0437","country_code":"SS","type":"education","lineage":["https://openalex.org/I4210096386"]},{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB","SS"],"is_corresponding":true,"raw_author_name":"Steve Bishop","raw_affiliation_strings":["University of Cambridge Computer Laboratory","University of Cambridge - Computer Laboratory"],"affiliations":[{"raw_affiliation_string":"University of Cambridge Computer Laboratory","institution_ids":["https://openalex.org/I4210096386","https://openalex.org/I241749"]},{"raw_affiliation_string":"University of Cambridge - Computer Laboratory","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5006601614","display_name":"Matthew Fairbairn","orcid":null},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]},{"id":"https://openalex.org/I4210096386","display_name":"Bridge University","ror":"https://ror.org/00cbm0437","country_code":"SS","type":"education","lineage":["https://openalex.org/I4210096386"]}],"countries":["GB","SS"],"is_corresponding":false,"raw_author_name":"Matthew Fairbairn","raw_affiliation_strings":["University of Cambridge Computer Laboratory","University of Cambridge - Computer Laboratory"],"affiliations":[{"raw_affiliation_string":"University of Cambridge Computer Laboratory","institution_ids":["https://openalex.org/I4210096386","https://openalex.org/I241749"]},{"raw_affiliation_string":"University of Cambridge - Computer Laboratory","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5056365707","display_name":"Michael Norrish","orcid":"https://orcid.org/0000-0003-1163-8467"},"institutions":[{"id":"https://openalex.org/I4210127731","display_name":"Canberra (United Kingdom)","ror":"https://ror.org/03dnk5950","country_code":"GB","type":"company","lineage":["https://openalex.org/I4210127731"]},{"id":"https://openalex.org/I42894916","display_name":"Data61","ror":"https://ror.org/03q397159","country_code":"AU","type":"other","lineage":["https://openalex.org/I1292875679","https://openalex.org/I2801453606","https://openalex.org/I42894916","https://openalex.org/I4387156119"]}],"countries":["AU","GB"],"is_corresponding":false,"raw_author_name":"Michael Norrish","raw_affiliation_strings":["NICTA, Canberra"],"affiliations":[{"raw_affiliation_string":"NICTA, Canberra","institution_ids":["https://openalex.org/I42894916","https://openalex.org/I4210127731"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5083405043","display_name":"Peter Sewell","orcid":"https://orcid.org/0000-0001-9352-1013"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]},{"id":"https://openalex.org/I4210096386","display_name":"Bridge University","ror":"https://ror.org/00cbm0437","country_code":"SS","type":"education","lineage":["https://openalex.org/I4210096386"]}],"countries":["GB","SS"],"is_corresponding":false,"raw_author_name":"Peter Sewell","raw_affiliation_strings":["University of Cambridge Computer Laboratory","University of Cambridge - Computer Laboratory"],"affiliations":[{"raw_affiliation_string":"University of Cambridge Computer Laboratory","institution_ids":["https://openalex.org/I4210096386","https://openalex.org/I241749"]},{"raw_affiliation_string":"University of Cambridge - Computer Laboratory","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5102831840","display_name":"Michael Smith","orcid":"https://orcid.org/0009-0002-4032-0589"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]},{"id":"https://openalex.org/I4210096386","display_name":"Bridge University","ror":"https://ror.org/00cbm0437","country_code":"SS","type":"education","lineage":["https://openalex.org/I4210096386"]}],"countries":["GB","SS"],"is_corresponding":false,"raw_author_name":"Michael Smith","raw_affiliation_strings":["University of Cambridge Computer Laboratory","University of Cambridge - Computer Laboratory"],"affiliations":[{"raw_affiliation_string":"University of Cambridge Computer Laboratory","institution_ids":["https://openalex.org/I4210096386","https://openalex.org/I241749"]},{"raw_affiliation_string":"University of Cambridge - Computer Laboratory","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5056684856","display_name":"Keith Wansbrough","orcid":null},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]},{"id":"https://openalex.org/I4210096386","display_name":"Bridge University","ror":"https://ror.org/00cbm0437","country_code":"SS","type":"education","lineage":["https://openalex.org/I4210096386"]}],"countries":["GB","SS"],"is_corresponding":false,"raw_author_name":"Keith Wansbrough","raw_affiliation_strings":["University of Cambridge Computer Laboratory","University of Cambridge - Computer Laboratory"],"affiliations":[{"raw_affiliation_string":"University of Cambridge Computer Laboratory","institution_ids":["https://openalex.org/I4210096386","https://openalex.org/I241749"]},{"raw_affiliation_string":"University of Cambridge - Computer Laboratory","institution_ids":["https://openalex.org/I241749"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5111568839"],"corresponding_institution_ids":["https://openalex.org/I241749","https://openalex.org/I4210096386"],"apc_list":null,"apc_paid":null,"fwci":4.7316,"has_fulltext":false,"cited_by_count":46,"citation_normalized_percentile":{"value":0.94968401,"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":"55","last_page":"66"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9991000294685364,"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/T11424","display_name":"Security and Verification in Computing","score":0.9975000023841858,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8412278890609741},{"id":"https://openalex.org/keywords/hol","display_name":"HOL","score":0.7623418569564819},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7523487210273743},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.738740086555481},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.6443132162094116},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.4667762815952301},{"id":"https://openalex.org/keywords/specification-language","display_name":"Specification language","score":0.411634624004364},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.33527815341949463}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8412278890609741},{"id":"https://openalex.org/C17435882","wikidata":"https://www.wikidata.org/wiki/Q17030435","display_name":"HOL","level":2,"score":0.7623418569564819},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7523487210273743},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.738740086555481},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.6443132162094116},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.4667762815952301},{"id":"https://openalex.org/C201677973","wikidata":"https://www.wikidata.org/wiki/Q1209840","display_name":"Specification language","level":2,"score":0.411634624004364},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.33527815341949463}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1111037.1111043","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1111037.1111043","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.6600000262260437,"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":29,"referenced_works":["https://openalex.org/W11392066","https://openalex.org/W64205235","https://openalex.org/W207759855","https://openalex.org/W1491196069","https://openalex.org/W1521083034","https://openalex.org/W1533968881","https://openalex.org/W1546402579","https://openalex.org/W1554481496","https://openalex.org/W1658016212","https://openalex.org/W1732700501","https://openalex.org/W1979302214","https://openalex.org/W2006277353","https://openalex.org/W2018041465","https://openalex.org/W2033685783","https://openalex.org/W2033871392","https://openalex.org/W2041617655","https://openalex.org/W2042389330","https://openalex.org/W2101080231","https://openalex.org/W2101341522","https://openalex.org/W2108752882","https://openalex.org/W2116730897","https://openalex.org/W2118414546","https://openalex.org/W2510121669","https://openalex.org/W2518300595","https://openalex.org/W2759287756","https://openalex.org/W2914767399","https://openalex.org/W4241746706","https://openalex.org/W6602602921","https://openalex.org/W6629230961"],"related_works":["https://openalex.org/W1500133066","https://openalex.org/W2585743557","https://openalex.org/W1594958113","https://openalex.org/W2498312814","https://openalex.org/W2477568018","https://openalex.org/W3193153727","https://openalex.org/W2155335449","https://openalex.org/W3083750017","https://openalex.org/W1679310551","https://openalex.org/W2996306923"],"abstract_inverted_index":{"The":[0,21],"TCP/IP":[1],"protocols":[2],"and":[3,19,66,76,140,148,186],"Sockets":[4,67],"API":[5],"underlie":[6],"much":[7],"of":[8,29,39,50,53,63,151],"modern":[9],"computation,":[10],"but":[11],"their":[12],"semantics":[13,111,125],"have":[14,57],"historically":[15],"been":[16],"very":[17],"complex":[18],"ill-defined.":[20],"real":[22],"standard":[23],"is":[24,55,69,77],"the":[25,30,36,42,48,85,108,128],"de":[26],"facto":[27],"one":[28],"common":[31],"implementations,":[32],"including,":[33],"for":[34],"example,":[35],"15,000--20,000":[37],"lines":[38],"C":[40],"in":[41,104],"BSD":[43],"implementation.":[44],"Dealing":[45],"rigorously":[46],"with":[47,112],"behaviour":[49],"such":[51],"bodies":[52],"code":[54],"challenging.We":[56],"recently":[58],"developed":[59,98],"a":[60,92,149,157,191],"post-hoc":[61],"specification":[62,129],"TCP,":[64],"UDP,":[65],"that":[68,88,166],"rigorous,":[70],"detailed,":[71],"readable,":[72],"has":[73],"broad":[74],"coverage,":[75],"remarkably":[78],"accurate.":[79],"In":[80],"this":[81],"paper":[82],"we":[83,97],"describe":[84],"novel":[86],"techniques":[87,170],"were":[89,146],"required.Working":[90],"within":[91],"general-purpose":[93],"proof":[94],"assistant":[95],"(HOL),":[96],"language":[99],"idioms":[100],"(within":[101],"higher-order":[102],"logic)":[103],"which":[105],"to":[106,174,183],"write":[107],"specification:":[109],"operational":[110],"nondeterminism,":[113],"time,":[114,181],"system":[115],"calls,":[116],"monadic":[117],"relational":[118],"programming,":[119],"etc.":[120],"We":[121],"followed":[122],"an":[123],"experimental":[124],"approach,":[126],"validating":[127],"against":[130],"several":[131],"thousand":[132],"traces":[133],"captured":[134],"from":[135],"three":[136],"implementations":[137],"(FreeBSD,":[138],"Linux,":[139],"WinXP).":[141],"Many":[142],"differences":[143],"between":[144],"these":[145],"identified,":[147],"number":[150],"bugs.":[152],"Validation":[153],"was":[154],"done":[155],"using":[156,190],"special-purpose":[158],"symbolic":[159],"model":[160],"checker":[161],"programmed":[162],"above":[163],"HOL.We":[164],"suggest":[165],"similar":[167,192],"logic":[168],"engineering":[169],"could":[171],"be":[172],"applied":[173],"future":[175],"critical":[176],"software":[177],"infrastructure":[178],"at":[179],"design":[180],"leading":[182],"cleaner":[184],"designs":[185],"(via":[187],"specification-based":[188],"testing":[189],"checker)":[193],"more":[194],"predictable":[195],"implementations.":[196]},"counts_by_year":[{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":6},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
