{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,26]],"date-time":"2023-10-26T13:12:14Z","timestamp":1698325934344},"reference-count":18,"publisher":"Wiley","issue":"2","license":[{"start":{"date-parts":[[2006,10,31]],"date-time":"2006-10-31T00:00:00Z","timestamp":1162252800000},"content-version":"vor","delay-in-days":4900,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Software Testing Verif &amp; Rel"],"published-print":{"date-parts":[[1993,6]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Parallel programs are intrinsically non\u2010deterministic, and therefore the techniques of cyclical debugging that are commonly used for sequential programs are not suitable for parallel ones. This paper proposes a method to reproduce Occam program behaviour. Saving information on the timer values input by the program and the guards selected at run\u2010time on alternative commands allows program replay, i.e. it makes it possible to re\u2010execute the program deterministically with the same inputs following the same instruction path. This enables the software developer to use tools such as debuggers and intrusive monitors to help identify program faults. After discussing possible implementations of the proposed technique, IRD (an interactive replay debugger for Occam programs) is described. Finally, the use of the IRD in a sample debug session is presented as an example.<\/jats:p>","DOI":"10.1002\/stvr.4370030204","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T15:58:37Z","timestamp":1163779117000},"page":"83-100","source":"Crossref","is-referenced-by-count":0,"title":["Replay\u2010based debugging of occam programs"],"prefix":"10.1002","volume":"3","author":[{"given":"A.","family":"Cimitile","sequence":"first","affiliation":[]},{"given":"U.","family":"De Carlini","sequence":"additional","affiliation":[]},{"given":"U.","family":"Villano","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,31]]},"reference":[{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(83)90011-0"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/214451.214456"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/115372.115324"},{"key":"e_1_2_1_5_1","unstructured":"Curtis R. S.andWittie L. D.(1982) \u2018Bugnet: a debugging system for parallel programming environments\u2019 inProceedings of the 3rd International Conference on Distributed Computing Systems Miami Florida October 1982 pp.394\u2013399."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380180404"},{"key":"e_1_2_1_7_1","volume-title":"Transputers and Parallel Architectures: Message\u2010passing Distributed Systems","author":"de Carlini U.","year":"1991"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010224"},{"key":"e_1_2_1_9_1","volume-title":"Occam 2 Reference Manual","author":"INMOS","year":"1988"},{"key":"e_1_2_1_10_1","volume-title":"The Transputer Databook","author":"INMOS","year":"1989"},{"key":"e_1_2_1_11_1","volume-title":"Occam 2 Toolset User Manual","author":"INMOS","year":"1991"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1987.1676929"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/0743-7315(90)90046-R"},{"key":"e_1_2_1_14_1","unstructured":"LeBlanc R. J.andRobbins A. D.(1985) \u2018Event driven monitoring of distributed programs\u2019 inProceedings of the 5th International Conference on Distributed Computing Systems Denver Colorado May 1985 pp.515\u2013522."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/76894.76897"},{"key":"e_1_2_1_16_1","unstructured":"Smith E. T.(1984) \u2018Debugging tools for message\u2010based communicating processes\u2019 inProceedings of the 4th International Conference on Distributed Computing Systems San Francisco California May 1984 pp.303\u2013310."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.67578"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.57626"},{"key":"e_1_2_1_19_1","first-page":"133","volume-title":"Occam and the Transputer\u2014Current Developments","author":"Villano U.","year":"1991"}],"container-title":["Software Testing, Verification and Reliability"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fstvr.4370030204","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/stvr.4370030204","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,25]],"date-time":"2023-10-25T09:21:17Z","timestamp":1698225677000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/stvr.4370030204"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1993,6]]},"references-count":18,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1993,6]]}},"alternative-id":["10.1002\/stvr.4370030204"],"URL":"https:\/\/doi.org\/10.1002\/stvr.4370030204","archive":["Portico"],"relation":{},"ISSN":["0960-0833","1099-1689"],"issn-type":[{"value":"0960-0833","type":"print"},{"value":"1099-1689","type":"electronic"}],"subject":[],"published":{"date-parts":[[1993,6]]}}}