{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,23]],"date-time":"2023-10-23T13:45:28Z","timestamp":1698068728417},"reference-count":32,"publisher":"Wiley","issue":"10","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":5873,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1990,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We describe some aspects of the implementation of a Prolog debugger for a refined box model in which attempted unifications can also be observed. Our implementation of the ProTest debugger is based on a meta\u2010interpreter for Prolog. We start with an existing meta\u2010interpreter for Byrd's box model (four\u2010port debugger) and we transform it into one for the refined box model (ten\u2010port debugger). To explain the transformation we show several versions of the meta\u2010interpreter. In these versions we use the technique of changing the database to implement the cut, but another possibility is also explained briefly. A simple notation for typing is used to make Prolog programs more readable. In an appendix we give a listing of a simple prototype of the extended meta\u2010interpreter.<\/jats:p>","DOI":"10.1002\/spe.4380201003","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T00:25:26Z","timestamp":1163809526000},"page":"985-1006","source":"Crossref","is-referenced-by-count":5,"title":["The implementation of Pro Test: A Prolog debugger for a refined box model"],"prefix":"10.1002","volume":"20","author":[{"given":"A.","family":"Schleiermacher","sequence":"first","affiliation":[]},{"given":"J. F. H.","family":"Winkler","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","unstructured":"L.Byrd \u2018Understanding the control flow of Prolog programs\u2019 Workshop on Logic Programming Debrecen 1980."},{"key":"e_1_2_1_3_2","unstructured":"L.Byrd \u2018Prolog debugging facilities\u2019 Technical Report D.A.I. Occasional Paper No. 19 University of Edinburgh 1980."},{"key":"e_1_2_1_4_2","unstructured":"J. F. H.Winkler A.von ReekenandA.Schleiermacher \u2018A Prolog debugger based on a refined box model\u2019 Internal Report Siemens AG Munich 1988."},{"key":"e_1_2_1_5_2","doi-asserted-by":"crossref","unstructured":"N.Francez Sh.Goldenberg R. Y.Pinter M.TiomkinandSh.Tsur \u2018An environment for logic programming\u2019 Symposium on Language Issues in Programming Environments Seattle U.S.A. 1985 pp.179\u2013190.","DOI":"10.1145\/17919.806839"},{"key":"e_1_2_1_6_2","first-page":"70","volume-title":"Proceedings of the International Conference on Fifth Generation Computer Systems","author":"Yokoi T.","year":"1984"},{"key":"e_1_2_1_7_2","first-page":"496","volume-title":"Logic Programming, Proc 5th International Conference and Symposium, Seattle, USA","author":"Plummer D.","year":"1988"},{"key":"e_1_2_1_8_2","first-page":"100","volume-title":"Logic Programming '85, Lecture Notes in Computer Science","author":"Numao N."},{"key":"e_1_2_1_9_2","first-page":"147","volume-title":"Logic Programming '86, Lecture Notes in Computer Science","author":"Morishita S."},{"key":"e_1_2_1_10_2","volume-title":"Logic Programming, Functions, Relations, and Equations","author":"Darlington J.","year":"1986"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-96873-0"},{"key":"e_1_2_1_12_2","unstructured":"S.Uchida ESP Guide ICOT Research Center TM\u20100388 September1987."},{"key":"e_1_2_1_13_2","first-page":"91","volume-title":"A prolog meta\u2010interpreter for partial evaluation and its application to source to source transformation and query optimization","author":"Venken R."},{"key":"e_1_2_1_14_2","first-page":"68","volume-title":"Symposium on Logic Programming","author":"O'Keefe R. A.","year":"1985"},{"key":"e_1_2_1_15_2","first-page":"769","volume-title":"Proc 4th International Conference on Logic Programming","author":"Somogyi Z.","year":"1987"},{"key":"e_1_2_1_16_2","unstructured":"R.Dietrich \u2018Modes and types for Prolog\u2019 Arbeitspapiere der GMD No. 285 February1988."},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(88)90010-6"},{"key":"e_1_2_1_18_2","unstructured":"D. H. D.Warren \u2018Implementing Prolog\u2014Compiling predicate logic programs\u2019 Research Report 39 Dept. of Artificial Intelligence University of Edinburgh 1977."},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(85)90004-4"},{"key":"e_1_2_1_20_2","series-title":"Proc. 5th International Conference and Symposium, Seattle, U.S.A.","first-page":"580","volume-title":"Logic Programming","author":"Voda P. J.","year":"1988"},{"key":"e_1_2_1_21_2","series-title":"Proc. 6th Conference, Tokyo, 22\u201324 June, 1987, Lecture Notes in Computer Science","first-page":"195","volume-title":"Logic Programming '87","author":"Horiuchi K."},{"key":"e_1_2_1_22_2","first-page":"23","volume-title":"9th International Conference on Automated Deduction, Argonne, Illinois, U.S.A.","author":"Azzoune H.","year":"1988"},{"key":"e_1_2_1_23_2","series-title":"Proc. 5th International Conference and Symposium, Seattle, U.S.A.","first-page":"669","volume-title":"Logic Programming","author":"Bruynooghe M.","year":"1988"},{"key":"e_1_2_1_24_2","first-page":"788","volume-title":"Proc. 4th International Conference on Logic Programming","author":"Kluzniak F.","year":"1987"},{"key":"e_1_2_1_25_2","first-page":"604","volume-title":"Proc. 5th International Conference and Symposium, Seattle, U.S.A.","author":"Xu J.","year":"1988"},{"key":"e_1_2_1_26_2","unstructured":"P.Mishra \u2018Towards a theory of types in Prolog\u2019 Proc. IEEE Int. Symposium on Logic Programming 1984 pp.289\u2013298."},{"key":"e_1_2_1_27_2","first-page":"382","volume-title":"Proc. 6th International Conference on Logic Programming","author":"Hanus M.","year":"1989"},{"key":"e_1_2_1_28_2","first-page":"521","volume-title":"Proc. 6th International Conference on Logic Programming","author":"Naish L.","year":"1989"},{"key":"e_1_2_1_29_2","first-page":"817","volume-title":"Proc. 4th International Conference on Logic Programming","author":"Zobel J.","year":"1987"},{"key":"e_1_2_1_30_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-18625-5_58"},{"key":"e_1_2_1_31_2","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(84)90017-1"},{"key":"e_1_2_1_32_2","doi-asserted-by":"crossref","first-page":"104","DOI":"10.1007\/3-540-18024-9_26","volume-title":"Logic Programming '86, Lecture Notes on Computer Science","author":"Komatsu H.","year":"1987"},{"key":"e_1_2_1_33_2","unstructured":"Prolog Draft for Working Draft 1.0 ISO Document N 28 February1989 see Section 9.6 Database."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380201003","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380201003","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,22]],"date-time":"2023-10-22T07:23:27Z","timestamp":1697959407000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380201003"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1990,10]]},"references-count":32,"journal-issue":{"issue":"10","published-print":{"date-parts":[[1990,10]]}},"alternative-id":["10.1002\/spe.4380201003"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380201003","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1990,10]]}}}