{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,25]],"date-time":"2023-10-25T09:11:47Z","timestamp":1698225107236},"reference-count":53,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4504,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Softw. Maint: Res. Pract."],"published-print":{"date-parts":[[1994,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Reverse\u2010engineering of interrupt\u2010driven, real\u2010time programs with timing constraints is a particularly challenging research area, because the functional behaviour of a program, and the non\u2010functional timing requirements, are implicit and can be very difficult to discover. However, in this paper we present a significant advance in this area, which is achieved by modelling real\u2010time programs with interrupts in the wide spectrum language, WSL. A small example program is modelled in this way, and formal program transformations are used to derive various timing constraints and to \u2018inverse\u2010engineer\u2019 a formal specification of the program. (We use the term \u2018inverse\u2010engineering\u2019 to mean \u2018reverse\u2010engineering achieved by formal program transformations\u2019.)<\/jats:p>","DOI":"10.1002\/smr.4360060404","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T14:02:51Z","timestamp":1163772171000},"page":"197-234","source":"Crossref","is-referenced-by-count":9,"title":["Inverse\u2010engineering a simple real\u2010time program"],"prefix":"10.1002","volume":"6","author":[{"given":"E. J.","family":"Younger","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"M. P.","family":"Ward","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0020001"},{"key":"e_1_2_1_3_1","first-page":"211","volume-title":"Tools and Notations for Program Construction","author":"Arsac J.","year":"1982"},{"key":"e_1_2_1_4_1","volume-title":"pp. Mathematical Centre Tracts # 131","author":"Back R. J. R.","year":"1980"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1981.230814"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1012339.1012342"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.21743"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0015725"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0046832"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-61807-9"},{"key":"e_1_2_1_11_1","unstructured":"Bird R. (1988) \u2018Lectures on constructive functional programming\u2019 Oxford University Technical Monograph PRG\u201069 1988."},{"key":"e_1_2_1_12_1","doi-asserted-by":"crossref","unstructured":"Boyle J. M.(1984) \u2018LISP To FORTRAN\u2014program transformation applied \u2019 inProgram Transformation and Programming Environments Report on a Workshop directed by F. L. Bauer and H. Remus P. Pepper (eds) Springer Verlag New York pp.199\u2013222.","DOI":"10.1007\/978-3-642-46490-4_25"},{"key":"e_1_2_1_13_1","series-title":"Lecture Notes in Computer Science # 69","first-page":"563","volume-title":"Program Construction","author":"Broy M.","year":"1979"},{"key":"e_1_2_1_14_1","unstructured":"Bull T. (1990) \u2018An introduction to the WSL program transformer\u2019 Conference on Software Maintenance 26\u201329 November 1990 San Diego."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/321992.321996"},{"key":"e_1_2_1_16_1","article-title":"The calculi of Lambda conversion","volume":"6","author":"Church A.","year":"1951","journal-title":"Annals of Mathematical Studies"},{"key":"e_1_2_1_17_1","unstructured":"Dewar R. B. K. Schonberg E.andSchwartz J. T.(1981) \u2018Higher level programming: introduction to the use of the set\u2010theoretic programming language SETL\u2019 Courant Institute of Mathematical Science New York University Technical Report."},{"key":"e_1_2_1_18_1","volume-title":"A Discipline of Programming","author":"Dijkstra E. W.","year":"1976"},{"key":"e_1_2_1_19_1","volume-title":"Formal Languages: Automata and Structures","author":"Engeler E.","year":"1968"},{"key":"e_1_2_1_20_1","unstructured":"Feather M. S.(1987) \u2018A survey and classification of some program transformation techniques \u2019 Program Specification and Transformation."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/357153.357154"},{"key":"e_1_2_1_22_1","unstructured":"Fickas S. F.(1982) \u2018Automating the transformational development of software\u2019 Ph. D. dissertation University of California Irvine."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231878"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/27651.27653"},{"key":"e_1_2_1_25_1","volume-title":"Systematic Software Development Using VDM","author":"Jones C. B.","year":"1986"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4471-3180-9"},{"key":"e_1_2_1_27_1","volume-title":"Languages with Expressions of Infinite Length","author":"Karp C. R.","year":"1965"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/356635.356640"},{"key":"e_1_2_1_29_1","unstructured":"Krieg\u2010Bruckner B. (1988) \u2018The PROSPECTRA methodology of program developments\u2019 IFIP\/IFAC Working Conference on Hardware and Software for Real Time Processes Warsaw North\u2010Holland Amsterdam."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/954627.954630"},{"key":"e_1_2_1_31_1","volume-title":"Programming from Specifications","author":"Morgan C.","year":"1990"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/44501.44503"},{"key":"e_1_2_1_33_1","unstructured":"Morgan C. C. Robinson K.andGardiner Paul (1988) \u2018On the refinement calculus\u2019 Technical Monograph PRG\u201070 Oxford University."},{"key":"e_1_2_1_34_1","unstructured":"Mostow D. J.(1981) \u2018Mechanical transformation of tasks heuristics into operational procedures\u2019 Ph. D. dissertation Carnegie\u2010Mellon University Rep. CMU\u2010CS\u201081\u2010113 Pittsburg PA."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01887199"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-46490-4_27"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/356914.356917"},{"key":"e_1_2_1_38_1","series-title":"Lecture Notes in Computer Science # 69","first-page":"232","volume-title":"Program Construction","author":"Pepper P.","year":"1979"},{"key":"e_1_2_1_39_1","unstructured":"Sennett C. T.(1990) \u2018Using refinement to convince: lessons learned from a case study \u2019 Refinement Workshop 8\u201311 January Hursley Park Winchester."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.58788"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/948363.948369"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/358746.358755"},{"key":"e_1_2_1_43_1","unstructured":"Ward M. (1989a ) \u2018Proving program refinements and transformations\u2019 D. Phil. thesis Oxford University."},{"key":"e_1_2_1_44_1","unstructured":"Ward M. (1989b ) \u2018Iterative procedures for computing Ackermann's function\u2019 Durham University Technical Report89\u20133."},{"key":"e_1_2_1_45_1","unstructured":"Ward M. (1990a ) \u2018Derivation of a sorting algorithm\u2019 Durham University Technical Report."},{"key":"e_1_2_1_46_1","unstructured":"Ward M. (1990b ) \u2018The largest true square problem\u2014an exercise in the derivation of an algorithm\u2019 Durham University Technical Report."},{"key":"e_1_2_1_47_1","unstructured":"Ward M.(1991) \u2018Specifications and programs in a wide spectrum language \u2019 submitted to J. Assoc. Comput. Mach."},{"key":"e_1_2_1_48_1","unstructured":"Ward M.(1992) \u2018Derivation of data intensive algorithms by formal transformation \u2019 submitted to IEEE Trans. Software Eng."},{"key":"e_1_2_1_49_1","unstructured":"Ward M.(1993a ) \u2018Foundations for a practical theory of program refinement and transformation \u2019 submitted to Formal Aspects of Computing."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.4360050204"},{"key":"e_1_2_1_51_1","unstructured":"Ward M.andBennett K. H.(1993) \u2018A practical program transformation system for reverse engineering\u2019 Working Conference on Reverse Engineering 21\u201323 May 1993 Baltimore MA."},{"key":"e_1_2_1_52_1","unstructured":"Ward M. Calliss F. W.andMunro M. (1989) \u2018The Maintainer's Assistant\u2019 Conference on Software Maintenance 16\u201319 October 1989 Miami FL."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/182.358443"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0014673"}],"container-title":["Journal of Software Maintenance: Research and Practice"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fsmr.4360060404","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/smr.4360060404","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,24]],"date-time":"2023-10-24T03:12:46Z","timestamp":1698117166000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/smr.4360060404"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,7]]},"references-count":53,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1994,7]]}},"alternative-id":["10.1002\/smr.4360060404"],"URL":"https:\/\/doi.org\/10.1002\/smr.4360060404","archive":["Portico"],"relation":{},"ISSN":["1040-550X","1096-908X"],"issn-type":[{"value":"1040-550X","type":"print"},{"value":"1096-908X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1994,7]]}}}