{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,13]],"date-time":"2023-11-13T00:32:30Z","timestamp":1699835550666},"reference-count":8,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":10710,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1977,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>A structured approach to debugging is presented based on restricting the class of programs that can be written. This is achieved by defining a domain specific language, eliminating control flow by using aggregate operations and eliminating side effects by using an applicative language as a base. The domain specific language is realized by defining domain specific operators as extensions to the base language; a set of operators are defined in the paper for data processing applications. The debugging strategy consists of setting up a sequence of input\/output transformations; this process takes the input to the output in partial stages so that the correctness of each transformation relative to its input and output set can be verified. The approach is illustrated by a simple data processing problem.<\/jats:p>","DOI":"10.1002\/spe.4380070406","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T12:37:20Z","timestamp":1163767040000},"page":"475-482","source":"Crossref","is-referenced-by-count":0,"title":["Structured debugging using a domain specific language"],"prefix":"10.1002","volume":"7","author":[{"given":"B. M.","family":"Leavenworth","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"Recursive Programming Techniques","author":"Burge W. H.","year":"1975"},{"key":"e_1_2_1_3_2","unstructured":"W. H.Burge \u2018An optimizing technique for high level programming languages\u2019 IBM Research Report RC 5834 Yorktown Heights New York (1976)."},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/366920.366935"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1016\/0096-0551(75)90019-3"},{"key":"e_1_2_1_6_2","unstructured":"M.Hammer W. G.Howe V. J.KruskalandI.Wladawsky \u2018A very high level programming language for data processing applications\u2019 IBM Research Report RC 5583 Yorktown Heights New York (1975) to be published in CACM."},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/365230.365257"},{"key":"e_1_2_1_8_2","doi-asserted-by":"crossref","unstructured":"B. M.Leavenworth \u2018Incremental program testing in a very high level language\u2019 Proc. ACM 76 Nat. Conf.Houston Texas (1976).","DOI":"10.1145\/800191.805650"},{"issue":"3","key":"e_1_2_1_9_2","first-page":"194","article-title":"A case for software testing\u2019 (Guest Editorial)","volume":"2","author":"Stucki L. G.","year":"1976","journal-title":"IEEE Trans. on Software Engineering"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380070406","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380070406","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,12]],"date-time":"2023-11-12T10:18:02Z","timestamp":1699784282000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380070406"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1977,7]]},"references-count":8,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1977,7]]}},"alternative-id":["10.1002\/spe.4380070406"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380070406","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1977,7]]}}}