{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T12:47:36Z","timestamp":1784206056808,"version":"3.55.0"},"reference-count":19,"publisher":"Association for Computing Machinery (ACM)","issue":"POPL","license":[{"start":{"date-parts":[[2022,1,12]],"date-time":"2022-01-12T00:00:00Z","timestamp":1641945600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2022,1,16]]},"abstract":"<jats:p>\n            Randomized property-based testing has gained much attention recently, but most frameworks stop short at polymorphic properties. Although Bernardy\u00a0\n            <jats:italic>et\u00a0al.<\/jats:italic>\n            have developed a theory to reduce a wide range of polymorphic properties to monomorphic ones, it relies upon ad-hoc embedding-projection pairs to massage the types into a particular form. This paper skips the embedding-projection pairs and presents a mechanical monomorphization for a general class of polymorphic functions, a step towards automatic testing for polymorphic properties. The calculation of suitable types for monomorphization turns out to be\n            <jats:italic>logarithm<\/jats:italic>\n            .\n          <\/jats:p>","DOI":"10.1145\/3498726","type":"journal-article","created":{"date-parts":[[2022,1,12]],"date-time":"2022-01-12T17:03:12Z","timestamp":1642006992000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Logarithm and program testing"],"prefix":"10.1145","volume":"6","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2310-3673","authenticated-orcid":false,"given":"Kuen-Bang","family":"Hou (Favonia)","sequence":"first","affiliation":[{"name":"University of Minnesota, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9347-2151","authenticated-orcid":false,"given":"Zhuyang","family":"Wang","sequence":"additional","affiliation":[{"name":"University of Minnesota, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,1,12]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-36576-1_2"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1017\/S095679681500009X"},{"key":"e_1_2_2_3_1","unstructured":"Jean-Philippe Bernardy. 2017. A dual view of testing of (polymorphic) programs. https:\/\/jyp.github.io\/posts\/polytest-two.html  Jean-Philippe Bernardy. 2017. A dual view of testing of (polymorphic) programs. https:\/\/jyp.github.io\/posts\/polytest-two.html"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11957-6_8"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0054285"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/351240.351266"},{"key":"e_1_2_2_7_1","unstructured":"CMU 15-210 Staff. 2018. The SEQUENCE signature. http:\/\/www.cs.cmu.edu\/afs\/cs\/academic\/class\/15210-f15\/www\/docs\/sig\/sequence\/SEQUENCE.html  CMU 15-210 Staff. 2018. The SEQUENCE signature. http:\/\/www.cs.cmu.edu\/afs\/cs\/academic\/class\/15210-f15\/www\/docs\/sig\/sequence\/SEQUENCE.html"},{"key":"e_1_2_2_8_1","unstructured":"Peter Hancock. 2019. Personal communication along with some notes.  Peter Hancock. 2019. Personal communication along with some notes."},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796805005769"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/3462305"},{"key":"e_1_2_2_11_1","unstructured":"Jane Street Group. 2018. Ppxlib - Meta-programming for OCaml. https:\/\/github.com\/ocaml-ppx\/ppxlib  Jane Street Group. 2018. Ppxlib - Meta-programming for OCaml. https:\/\/github.com\/ocaml-ppx\/ppxlib"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(95)00015-1"},{"key":"e_1_2_2_13_1","volume-title":"Proceedings of the IFIP 9th World Computer Congres. 513\u2013523","author":"Reynolds John C","year":"1983","unstructured":"John C Reynolds . 1983 . Types, abstraction and parametric polymorphism. In Information Processing 83 , Proceedings of the IFIP 9th World Computer Congres. 513\u2013523 . John C Reynolds. 1983. Types, abstraction and parametric polymorphism. In Information Processing 83, Proceedings of the IFIP 9th World Computer Congres. 513\u2013523."},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411286.1411292"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328445"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/99370.99404"},{"key":"e_1_2_2_17_1","unstructured":"Zhuyang Wang. 2021. PolyCheck: Testing Polymorphic Functions. https:\/\/github.com\/hawnzug\/polycheck  Zhuyang Wang. 2021. PolyCheck: Testing Polymorphic Functions. https:\/\/github.com\/hawnzug\/polycheck"},{"key":"e_1_2_2_18_1","unstructured":"Li-yao Xia. 2017. A terminal view of testing polymorphic functions. https:\/\/blog.poisson.chat\/posts\/2017-06-29-terminal-monomorphization.html  Li-yao Xia. 2017. A terminal view of testing polymorphic functions. https:\/\/blog.poisson.chat\/posts\/2017-06-29-terminal-monomorphization.html"},{"key":"e_1_2_2_19_1","unstructured":"Li-yao Xia. 2017. Test Polymorphic Functions with Metamorph. https:\/\/github.com\/Lysxia\/metamorph  Li-yao Xia. 2017. Test Polymorphic Functions with Metamorph. https:\/\/github.com\/Lysxia\/metamorph"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3498726","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3498726","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:30:29Z","timestamp":1750188629000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3498726"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,1,12]]},"references-count":19,"journal-issue":{"issue":"POPL","published-print":{"date-parts":[[2022,1,16]]}},"alternative-id":["10.1145\/3498726"],"URL":"https:\/\/doi.org\/10.1145\/3498726","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,1,12]]},"assertion":[{"value":"2022-01-12","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}