{"id":"https://openalex.org/W4293812394","doi":"https://doi.org/10.1145/3547653","title":"Random testing of a higher-order blockchain language (experience report)","display_name":"Random testing of a higher-order blockchain language (experience report)","publication_year":2022,"publication_date":"2022-08-29","ids":{"openalex":"https://openalex.org/W4293812394","doi":"https://doi.org/10.1145/3547653"},"language":"en","primary_location":{"id":"doi:10.1145/3547653","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547653","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547653","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3547653","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5040687406","display_name":"Tram Hoang","orcid":null},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":true,"raw_author_name":"Tram Hoang","raw_affiliation_strings":["National University of Singapore, Singapore"],"raw_orcid":"https://orcid.org/0000-0002-7933-4411","affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore","institution_ids":["https://openalex.org/I165932596"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5046464780","display_name":"Anton Trunov","orcid":"https://orcid.org/0000-0003-0719-4744"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Anton Trunov","raw_affiliation_strings":["Zilliqa Research, Russia"],"raw_orcid":"https://orcid.org/0000-0003-0719-4744","affiliations":[{"raw_affiliation_string":"Zilliqa Research, Russia","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5075217645","display_name":"Leonidas Lampropoulos","orcid":"https://orcid.org/0000-0003-0269-9815"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Leonidas Lampropoulos","raw_affiliation_strings":["University of Maryland at College Park, USA"],"raw_orcid":"https://orcid.org/0000-0003-0269-9815","affiliations":[{"raw_affiliation_string":"University of Maryland at College Park, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5009639508","display_name":"Ilya Sergey","orcid":"https://orcid.org/0000-0003-4250-5392"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Ilya Sergey","raw_affiliation_strings":["National University of Singapore, Singapore"],"raw_orcid":"https://orcid.org/0000-0003-4250-5392","affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore","institution_ids":["https://openalex.org/I165932596"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5040687406"],"corresponding_institution_ids":["https://openalex.org/I165932596"],"apc_list":null,"apc_paid":null,"fwci":1.6574,"has_fulltext":true,"cited_by_count":6,"citation_normalized_percentile":{"value":0.83256101,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"6","issue":"ICFP","first_page":"886","last_page":"901"},"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.9994000196456909,"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.9994000196456909,"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/T11424","display_name":"Security and Verification in Computing","score":0.9976999759674072,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9962000250816345,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.8543894290924072},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.8077213764190674},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7441153526306152},{"id":"https://openalex.org/keywords/executable","display_name":"Executable","score":0.741610050201416},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.645403265953064},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5483015179634094},{"id":"https://openalex.org/keywords/random-testing","display_name":"Random testing","score":0.5230544805526733},{"id":"https://openalex.org/keywords/blockchain","display_name":"Blockchain","score":0.4924372136592865},{"id":"https://openalex.org/keywords/smart-contract","display_name":"Smart contract","score":0.4869724214076996},{"id":"https://openalex.org/keywords/proof-assistant","display_name":"Proof assistant","score":0.4825438857078552},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.46682921051979065},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4526122510433197},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.44763243198394775},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.43473055958747864},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.4301326274871826},{"id":"https://openalex.org/keywords/test-case","display_name":"Test case","score":0.24249789118766785},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.09950897097587585}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8543894290924072},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.8077213764190674},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7441153526306152},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.741610050201416},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.645403265953064},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5483015179634094},{"id":"https://openalex.org/C106159264","wikidata":"https://www.wikidata.org/wiki/Q17146789","display_name":"Random testing","level":4,"score":0.5230544805526733},{"id":"https://openalex.org/C2779687700","wikidata":"https://www.wikidata.org/wiki/Q20514253","display_name":"Blockchain","level":2,"score":0.4924372136592865},{"id":"https://openalex.org/C2779950589","wikidata":"https://www.wikidata.org/wiki/Q7544035","display_name":"Smart contract","level":3,"score":0.4869724214076996},{"id":"https://openalex.org/C203265346","wikidata":"https://www.wikidata.org/wiki/Q11387554","display_name":"Proof assistant","level":3,"score":0.4825438857078552},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.46682921051979065},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4526122510433197},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.44763243198394775},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.43473055958747864},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.4301326274871826},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.24249789118766785},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.09950897097587585},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.0},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C152877465","wikidata":"https://www.wikidata.org/wiki/Q208042","display_name":"Regression analysis","level":2,"score":0.0},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"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/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"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/3547653","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547653","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547653","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3547653","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547653","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547653","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G8775549910","display_name":null,"funder_award_id":"2107206","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320322724","display_name":"Ministry of Education, India","ror":"https://ror.org/048xjjh50"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4293812394.pdf","grobid_xml":"https://content.openalex.org/works/W4293812394.grobid-xml"},"referenced_works_count":33,"referenced_works":["https://openalex.org/W1553894716","https://openalex.org/W1590979665","https://openalex.org/W1595372275","https://openalex.org/W2006731094","https://openalex.org/W2105443946","https://openalex.org/W2125126351","https://openalex.org/W2129695855","https://openalex.org/W2159430067","https://openalex.org/W2223685968","https://openalex.org/W2294422796","https://openalex.org/W2329154668","https://openalex.org/W2620854846","https://openalex.org/W2625141509","https://openalex.org/W2734788368","https://openalex.org/W2738478951","https://openalex.org/W2753617992","https://openalex.org/W2777305358","https://openalex.org/W2867457158","https://openalex.org/W2962458576","https://openalex.org/W2979374757","https://openalex.org/W2980167976","https://openalex.org/W3006937969","https://openalex.org/W3106469537","https://openalex.org/W3123143760","https://openalex.org/W3137008396","https://openalex.org/W3156428445","https://openalex.org/W3173222259","https://openalex.org/W3191748134","https://openalex.org/W4232102365","https://openalex.org/W4238083723","https://openalex.org/W4244488020","https://openalex.org/W4288106556","https://openalex.org/W6912836711"],"related_works":["https://openalex.org/W2150815772","https://openalex.org/W3100000179","https://openalex.org/W1188080205","https://openalex.org/W2401483285","https://openalex.org/W3147182183","https://openalex.org/W2130363716","https://openalex.org/W4288265159","https://openalex.org/W2038237961","https://openalex.org/W2900907669","https://openalex.org/W4293812394"],"abstract_inverted_index":{"We":[0,38,63,93],"describe":[1,94],"our":[2],"experience":[3],"of":[4,21,34,42,52,97,127,143,151],"using":[5],"property-based":[6,47],"testing---an":[7],"approach":[8],"for":[9,46,74],"automatically":[10],"generating":[11,71],"random":[12],"inputs":[13],"to":[14,112,124],"check":[15],"executable":[16],"program":[17],"specifications---in":[18],"a":[19,22,29,57,75,128],"development":[20],"higher-order":[23,77],"smart":[24,78],"contract":[25,79],"language":[26,59,99],"that":[27,102],"powers":[28],"state-of-the-art":[30],"blockchain":[31],"with":[32,148],"thousands":[33],"active":[35],"daily":[36],"users.":[37],"outline":[39],"the":[40,53,65,95,98,108,120,125,135,141,149],"process":[41],"integrating":[43],"QuickChick---a":[44],"framework":[45],"testing":[48],"built":[49],"on":[50],"top":[51],"Coq":[54],"proof":[55],"assistant---into":[56],"real-world":[58],"implementation":[60,100],"in":[61],"OCaml.":[62],"discuss":[64,154],"challenges":[66],"we":[67,103,139],"have":[68],"encountered":[69],"when":[70],"well-typed":[72],"programs":[73],"realistic":[76],"language,":[80],"which":[81],"mixes":[82],"purely":[83],"functional":[84],"and":[85,88,130,146,153,157],"imperative":[86],"computations":[87],"features":[89],"runtime":[90],"resource":[91],"accounting.":[92],"set":[96],"properties":[101,117],"tested,":[104],"as":[105,107],"well":[106],"semantic":[109],"harness":[110],"required":[111],"enable":[113],"their":[114,155],"validation.":[115],"The":[116],"range":[118],"from":[119],"standard":[121],"type":[122],"safety":[123],"soundness":[126],"control-":[129],"type-flow":[131],"analysis":[132],"used":[133],"by":[134],"optimizing":[136],"compiler.":[137],"Finally,":[138],"present":[140],"list":[142],"bugs":[144],"discovered":[145],"rediscovered":[147],"help":[150],"QuickChick":[152],"severity":[156],"possible":[158],"ramifications.":[159]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
