{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:46:44Z","timestamp":1772164004589,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":35,"publisher":"ACM","license":[{"start":{"date-parts":[[2014,10,18]],"date-time":"2014-10-18T00:00:00Z","timestamp":1413590400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2014,10,18]]},"DOI":"10.1145\/2663171.2663183","type":"proceedings-article","created":{"date-parts":[[2014,10,14]],"date-time":"2014-10-14T08:29:24Z","timestamp":1413275364000},"page":"71-80","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Specification of generic APIs, or"],"prefix":"10.1145","author":[{"given":"Anya Helene","family":"Bagge","sequence":"first","affiliation":[{"name":"University of Bergen, Bergen, Norway"}]},{"given":"Magne","family":"Haveraaen","sequence":"additional","affiliation":[{"name":"University of Bergen, Bergen, Norway"}]}],"member":"320","published-online":{"date-parts":[[2014,10,18]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/800022.808306"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2011.10.1.a10"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2009.09.038"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2010.08.030"},{"key":"e_1_3_2_1_5_1","volume-title":"SPARK - The Proven Approach to High Integrity Software","author":"Barnes J.","year":"2012","unstructured":"J. Barnes . SPARK - The Proven Approach to High Integrity Software . Altran Praxis Ltd , 2012 . J. Barnes. SPARK - The Proven Approach to High Integrity Software. Altran Praxis Ltd, 2012."},{"key":"e_1_3_2_1_6_1","volume-title":"6th Workshop on Formal Techniques for Java-like Programs (FTfJP'2004)","author":"Barnett M.","year":"2004","unstructured":"M. Barnett , D. A. Naumann , W. Schulte , and Q. Sun . 99.44% pure: Useful abstractions in specifications . In 6th Workshop on Formal Techniques for Java-like Programs (FTfJP'2004) , 2004 . M. Barnett, D. A. Naumann, W. Schulte, and Q. Sun. 99.44% pure: Useful abstractions in specifications. In 6th Workshop on Formal Techniques for Java-like Programs (FTfJP'2004), 2004."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/351240.351266"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/192218.192221"},{"key":"e_1_3_2_1_9_1","series-title":"EATCS Monographs on Theoretical Computer Science","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-69962-7","volume-title":"Fundamentals of Algebraic Specification 1: Equations und Initial Semantics","author":"Ehrig H.","year":"1985","unstructured":"H. Ehrig and B. Mahr . Fundamentals of Algebraic Specification 1: Equations und Initial Semantics , volume 6 of EATCS Monographs on Theoretical Computer Science . Springer , 1985 . H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1: Equations und Initial Semantics, volume 6 of EATCS Monographs on Theoretical Computer Science. Springer, 1985."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512558"},{"key":"e_1_3_2_1_11_1","series-title":"Proceedings of Symposia in Applied Mathematics","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1090\/psapm\/019\/0235771","volume-title":"Mathematical Aspects of Computer Science","author":"Floyd R. W.","year":"1967","unstructured":"R. W. Floyd . Assigning meanings to programs . In Mathematical Aspects of Computer Science , volume 19 of Proceedings of Symposia in Applied Mathematics , pages 19 -- 32 . American Mathematical Society , 1967 . R. W. Floyd. Assigning meanings to programs. In Mathematical Aspects of Computer Science, volume 19 of Proceedings of Symposia in Applied Mathematics, pages 19--32. American Mathematical Society, 1967."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/357139.357140"},{"key":"e_1_3_2_1_13_1","first-page":"80","volume-title":"Current Trends in Programming Methodology","author":"Goguen J.","year":"1978","unstructured":"J. Goguen , J. Thatcher , and E. Wagner . An initial algebra approach to the specification, correctness and implementation of abstract data types . In R. Yeh, editor, Current Trends in Programming Methodology , volume 4 , pages 80 -- 149 . Prentice Hall , 1978 . J. Goguen, J. Thatcher, and E. Wagner. An initial algebra approach to the specification, correctness and implementation of abstract data types. In R. Yeh, editor, Current Trends in Programming Methodology, volume 4, pages 80--149. Prentice Hall, 1978."},{"key":"e_1_3_2_1_14_1","volume-title":"The","author":"Gosling J.","year":"2005","unstructured":"J. Gosling , B. Joy , G. Steele , and G. Bracha . Java\u2122 Language Specification , The ( 3 rd Edition). Addison-Wesley Professional , 2005 . J. Gosling, B. Joy, G. Steele, and G. Bracha. Java\u2122 Language Specification, The (3rd Edition). Addison-Wesley Professional, 2005.","edition":"3"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449913.1449925"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167499"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.1985.231756"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449814.1449834"},{"key":"e_1_3_2_1_19_1","series-title":"Lecture Notes in Computer Science","first-page":"3","volume-title":"Recent Trends In Algebraic Development Techniques","author":"Haveraaen M.","year":"2000","unstructured":"M. Haveraaen and E. G. Wagner . Guarded algebras: Disguising partiality so you won't know whether it's there . In Recent Trends In Algebraic Development Techniques , volume 1827 of Lecture Notes in Computer Science , pages 3 -- 11 . Springer-Verlag , 2000 . M. Haveraaen and E. G. Wagner. Guarded algebras: Disguising partiality so you won't know whether it's there. In Recent Trends In Algebraic Development Techniques, volume 1827 of Lecture Notes in Computer Science, pages 3--11. Springer-Verlag, 2000."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/363235.363259"},{"key":"e_1_3_2_1_21_1","series-title":"Lecture Notes in Computer Science","first-page":"402","volume-title":"Program Specification, Proceedings of a Workshop","author":"Kapur D.","year":"1981","unstructured":"D. Kapur , D. R. Musser , and A. A. Stepanov . Tecton: A language for manipulating generic objects . In J. Staunstrup, editor, Program Specification, Proceedings of a Workshop , Lecture Notes in Computer Science , pages 402 -- 414 , Aarhus, Denmark, Aug. 1981 . Springer-Verlag . D. Kapur, D. R. Musser, and A. A. Stepanov. Tecton: A language for manipulating generic objects. In J. Staunstrup, editor, Program Specification, Proceedings of a Workshop, Lecture Notes in Computer Science, pages 402--414, Aarhus, Denmark, Aug. 1981. Springer-Verlag."},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127878.1127884"},{"key":"e_1_3_2_1_23_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"348","DOI":"10.1007\/978-3-642-17511-4_20","volume-title":"Logic for Programming, Artificial Intelligence, and Reasoning - 16th International Conference, LPAR-16, Dakar, Senegal, April 25-May 1","author":"Leino K. R. M.","year":"2010","unstructured":"K. R. M. Leino . Dafny: An automatic program verifier for functional correctness . In E. M. Clarke and A. Voronkov, editors, Logic for Programming, Artificial Intelligence, and Reasoning - 16th International Conference, LPAR-16, Dakar, Senegal, April 25-May 1 , 2010 , Revised Selected Papers, volume 6355 of Lecture Notes in Computer Science , pages 348 -- 370 . Springer , 2010. K. R. M. Leino. Dafny: An automatic program verifier for functional correctness. In E. M. Clarke and A. Voronkov, editors, Logic for Programming, Artificial Intelligence, and Reasoning - 16th International Conference, LPAR-16, Dakar, Senegal, April 25-May 1, 2010, Revised Selected Papers, volume 6355 of Lecture Notes in Computer Science, pages 348--370. Springer, 2010."},{"key":"e_1_3_2_1_24_1","series-title":"Lecture Notes in Computer Science","volume-title":"CLU Reference Manual","author":"Liskov B.","year":"1981","unstructured":"B. Liskov , R. R. Atkinson , T. Bloom , J. E. B. Moss , J. C. Schaffert , R. Scheifler , and A. Snyder . CLU Reference Manual , volume 114 of Lecture Notes in Computer Science . Springer-Verlag , 1981 . B. Liskov, R. R. Atkinson, T. Bloom, J. E. B. Moss, J. C. Schaffert, R. Scheifler, and A. Snyder. CLU Reference Manual, volume 114 of Lecture Notes in Computer Science. Springer-Verlag, 1981."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/800027.808426"},{"key":"e_1_3_2_1_26_1","volume-title":"Eiffel: The language","author":"Meyer B.","year":"1992","unstructured":"B. Meyer . Eiffel: The language . Prentice-Hall, Inc. , Upper Saddle River, NJ, USA, 1992 . B. Meyer. Eiffel: The language. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1992."},{"key":"e_1_3_2_1_27_1","series-title":"Lecture Notes in Computer Science","first-page":"66","volume-title":"COMPASS\/ADT","author":"Mosses P. D.","year":"1991","unstructured":"P. D. Mosses . The use of sorts in algebraic specifications. In M. Bidoit and C. Choppy, editors, COMPASS\/ADT , volume 655 of Lecture Notes in Computer Science , pages 66 -- 92 . Springer , 1991 . P. D. Mosses. The use of sorts in algebraic specifications. In M. Bidoit and C. Choppy, editors, COMPASS\/ADT, volume 655 of Lecture Notes in Computer Science, pages 66--92. Springer, 1991."},{"key":"e_1_3_2_1_28_1","series-title":"Lecture Notes in Computer Science","first-page":"13","volume-title":"Symbolic and Algebraic Computation, International Symposium ISSAC'88","author":"Musser D. R.","year":"1988","unstructured":"D. R. Musser and A. A. Stepanov . Generic programming . In P. M. Gianni, editor, Symbolic and Algebraic Computation, International Symposium ISSAC'88 , Rome, Italy, July 4-8, 1988 , Proceedings, volume 358 of Lecture Notes in Computer Science , pages 13 -- 25 . Springer , 1988. D. R. Musser and A. A. Stepanov. Generic programming. In P. M. Gianni, editor, Symbolic and Algebraic Computation, International Symposium ISSAC'88, Rome, Italy, July 4-8, 1988, Proceedings, volume 358 of Lecture Notes in Computer Science, pages 13--25. Springer, 1988."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/800022.808307"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.5555\/648330.755411"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/333580.333589"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/359763.359782"},{"key":"e_1_3_2_1_34_1","volume-title":"Elements of Programming","author":"Stepanov A.","year":"2009","unstructured":"A. Stepanov and P. McJones . Elements of Programming . Addison-Wesley Professional , 1 st edition, 2009 . A. Stepanov and P. McJones. Elements of Programming. Addison-Wesley Professional, 1st edition, 2009.","edition":"1"},{"key":"e_1_3_2_1_35_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-45419-6","volume-title":"Ada 2012 Reference Manual. Language and Standard Libraries - International Standard ISO\/IEC 8652\/2012 (E)","author":"Taft S. T.","year":"2013","unstructured":"S. T. Taft , R. A. Duff , R. Brukardt , E. Pl\u00f6dereder , P. Leroy , and E. Schonberg . Ada 2012 Reference Manual. Language and Standard Libraries - International Standard ISO\/IEC 8652\/2012 (E) , volume 8339 of Lecture Notes in Computer Science . Springer , 2013 . S. T. Taft, R. A. Duff, R. Brukardt, E. Pl\u00f6dereder, P. Leroy, and E. Schonberg. Ada 2012 Reference Manual. Language and Standard Libraries - International Standard ISO\/IEC 8652\/2012 (E), volume 8339 of Lecture Notes in Computer Science. Springer, 2013."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1512762.1512772"}],"event":{"name":"HILT '14: High Integrity Language Technology ACM SIGAda Annual Conference","location":"Portland Oregon USA","acronym":"HILT '14","sponsor":["SIGAda ACM Special Interest Group on Ada Programming Language","SIGAPP ACM Special Interest Group on Applied Computing","SIGPLAN ACM Special Interest Group on Programming Languages","Ada Europe Ada Europe","SIGBED ACM Special Interest Group on Embedded Systems","SIGSOFT ACM Special Interest Group on Software Engineering","SIGCAS ACM Special Interest Group on Computers and Society","SIGCSE ACM Special Interest Group on Computer Science Education"]},"container-title":["Proceedings of the 2014 ACM SIGAda annual conference on High integrity language technology"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2663171.2663183","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2663171.2663183","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:13:47Z","timestamp":1750212827000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2663171.2663183"}},"subtitle":["why algebraic may be better than pre\/post"],"short-title":[],"issued":{"date-parts":[[2014,10,18]]},"references-count":35,"alternative-id":["10.1145\/2663171.2663183","10.1145\/2663171"],"URL":"https:\/\/doi.org\/10.1145\/2663171.2663183","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2692956.2663183","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2014,10,18]]},"assertion":[{"value":"2014-10-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}