{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,27]],"date-time":"2025-10-27T20:29:53Z","timestamp":1761596993436},"reference-count":44,"publisher":"Wiley","issue":"3","license":[{"start":{"date-parts":[[2006,10,31]],"date-time":"2006-10-31T00:00:00Z","timestamp":1162252800000},"content-version":"vor","delay-in-days":4321,"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":[[1995,1]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Program slicing is a technique for automatically identifying the statements of a program which affect a selected subset of its variables. A large program can be divided into a number of smaller program (its slices), each constructed for different variable subsets. The slices are typically simpler than the original program, thereby simplifying the process of testing a property of the program which only concerns the corresponding subset of its variables. However, some aspects of a program's computation are not captured by a set of variables, rendering slicing inapplicable. To overcome this difficulty a program can be rewritten in a self\u2010checking form by the addition of assignment statements to denote these \u2018implicit\u2019 computations. Initially this makes the program longer. However, slicing <jats:italic>can<\/jats:italic> now be applied to the introspective program, forming a slice concerned solely with the implicit computation. The simplification power of slicing is then improved using program transformation. To illustrate this approach, the implicit computation which dictates whether or not a program is robust is taken as an example. Whether or not a program is robust is not generally decidable making the approach described here particularly appealing because the slices constructed are <jats:italic>approximate<\/jats:italic> answers to the undecidable question \u2018Is the program <jats:italic>p<\/jats:italic> robust?\u2019.<\/jats:p>","DOI":"10.1002\/stvr.4370050303","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T06:13:52Z","timestamp":1163830432000},"page":"143-162","source":"Crossref","is-referenced-by-count":75,"title":["Using program slicing to simplify testing"],"prefix":"10.1002","volume":"5","author":[{"given":"Mark","family":"Harman","sequence":"first","affiliation":[]},{"given":"Sebastian","family":"Danicic","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,31]]},"reference":[{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","unstructured":"Agrawal H.(1994) \u2018On slicing programs with jump statements \u2019 inProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation Orlando Florida U.S.A. pp.302\u2013312","DOI":"10.1145\/773473.178456"},{"key":"e_1_2_1_2_2","unstructured":"ACM SIGPLAN Notices 1994 29 6"},{"key":"e_1_2_1_3_1","doi-asserted-by":"crossref","unstructured":"Agrawal H. DeMillo R. A.andSpafford E. H.(1991) \u2018Dynamic slicing in the presence of unconstrained pointers\u2019 InProceedings of the Symposium on Testing Analysis and Verification (TAV4) Victoria B. C. Canada October 1991 ACM Press New York U.S.A. pp.60\u201373. Also appears as Purdue University Technical Report SERC\u2010TR\u201093\u2013P.","DOI":"10.1145\/120807.120813"},{"key":"e_1_2_1_4_1","doi-asserted-by":"crossref","unstructured":"Agrawal H.andHorgan J. R.(1990) \u2018Dynamic program slicing\u2019 inProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation New York pp.246\u2013256.","DOI":"10.1145\/93548.93576"},{"key":"e_1_2_1_5_1","volume-title":"Compilers: Principles, Techniques and Tools","author":"Aho A. V.","year":"1986"},{"key":"e_1_2_1_6_1","first-page":"206","volume-title":"First Conference on Automated Algorithmic Debugging","author":"Ball T.","year":"1992"},{"key":"e_1_2_1_7_1","unstructured":"Beck J.andEichmann D.(1993) \u2018Program and interface slicing for reverse engineering\u2019 inProceedings of the Fifteenth International Conference on Software Engineering (ICSE\u201015).Baltimore Maryland U.S.A. May 1993 IEEE Computer Society Press Los Alamitos California U.S.A. pp.509\u2013518."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.310673"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0019411"},{"issue":"4","key":"e_1_2_1_10_1","first-page":"1097","article-title":"Static slicing in the presence of goto statements","volume":"16","author":"Choi J.","year":"1994","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_2_1_11_1","volume-title":"Computer Algebra: Systems and Algorithms for Algebraic Computation","author":"Davenport J. H.","year":"1989"},{"key":"e_1_2_1_12_1","unstructured":"Ernst M. D.(1994) \u2018Practical fine\u2010grained static slicing of optimised code\u2019 Technical Report MSR\u2010TR\u201094\u201314 Microsoft Research Redmond Washington U.S.A."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380230604"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.83912"},{"key":"e_1_2_1_15_1","unstructured":"Gopal R. (1991) \u2018Dynamic program slicing based on dependence graphs\u2019 inProceedings of the IEEE Conference on Software Maintenance pp.191\u2013200."},{"key":"e_1_2_1_16_1","unstructured":"Harman M.andDanicic S.(1994a ) \u2018A framework for defining equivalence preserving program simplification and its application to program slicing\u2019 Technical Report. University of North London U. K. Available by anonymous ftp to ftp. unl. ac. uk\/pub\/text\/M. Harman\/papers\/tecrepts."},{"key":"e_1_2_1_17_1","unstructured":"Harman M.andDanicic S.(1994b ) \u2018A new approach to program slicing \u2019 in Proceedings of the Seventh International Quality Week San Francisco California U.S.A. Paper 4\u2013T\u20104 pp.1\u201314."},{"key":"e_1_2_1_18_1","unstructured":"Harman M. Danicic S.Sivagurunathan B. Jones B.andSivagurunathan Y.(1995a ) \u2018Cohesion metrics \u2019 in Proceedings of the Eighth International Quality Week San Francisco California U.S.A. Paper 3\u2013T\u20102 pp.1\u201314."},{"key":"e_1_2_1_19_1","doi-asserted-by":"crossref","unstructured":"Harman M. Danicic S.andSivagurunathan Y.(1995b ) \u2018A parallel algorithm for static program slicing\u2019 Technical Report University of North London U. K. Available by anonymous ftp to ftp. unl. ac. uk\/pub\/text\/M. Harman\/papers\/tecrepts.","DOI":"10.1016\/0020-0190(95)00170-0"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/65979.65980"},{"key":"e_1_2_1_21_1","doi-asserted-by":"crossref","unstructured":"Horwitz S.andReps T.(1992) \u2018The use of program dependence graphs in software engineering\u2019 inProceedings of the Fourteenth International Conference on Software Engineering (ICSE\u201014) Melbourne Australia May 1992 IEEE Computer Society Press Los Alamitos California U.S.A. pp.392\u2013411.","DOI":"10.1145\/143062.143156"},{"issue":"7","key":"e_1_2_1_22_1","first-page":"25","article-title":"Interprocedural slicing using dependence graphs","volume":"23","author":"Horwitz S.","year":"1988","journal-title":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation"},{"key":"e_1_2_1_23_1","unstructured":"Jiang J. Zhou X.andRobson D. J.(1991) \u2018Program slicing for C\u2014the problems in implementation\u2019 inProceedings of the IEEE Conference on Software Maintenance Italy pp.182\u2013190."},{"key":"e_1_2_1_24_1","unstructured":"Kamkar M. (1993) \u2018Interprocedural dynamic slicing with applications to debugging and testing\u2019 Ph. D. thesis Department of Computer Science and Information Science Link\u00f6ping University Sweden. Available as Link\u00f6ping Studies in Science and Technology Dissertations Number 297."},{"key":"e_1_2_1_25_1","unstructured":"Kamkar M. Shahmehri N.andFritzson P.(1992) \u2018Interprocedural dynamic slicing\u2019 inProceedings of the Fourth Conference on Programming Language implementation and Logic Programming pp.380\u2013384."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(88)90054-3"},{"key":"e_1_2_1_27_1","unstructured":"Lakhotia A. (1993) \u2018Rule\u2010based approach to computing module cohesion\u2019 inProceedings of the Fifteenth International Conference on Software Engineering (ICSE\u201015) Baltimore Maryland U.S.A. May 1993 IEEE Computer Society Press Los Alamitos California U.S.A. pp.34\u201344."},{"key":"e_1_2_1_28_1","unstructured":"Liu L.andEllis R.(1993) \u2018An approach to eliminating COMMON blocks and deriving ADTs from Fortran programs\u2019 Technical Report University ofWestminster U. K."},{"key":"e_1_2_1_29_1","unstructured":"Livadas P. E.andRosenstein A. (1994) \u2018Slicing in the presence of pointer variables\u2019 Technical Report SERC\u2010TR\u201074\u2013F Computer Science and Information Services Department University of Florida Gainesville Florida U.S.A."},{"key":"e_1_2_1_30_1","unstructured":"Lyle J. R.andWeiser M. (1987) \u2018Automatic program bug location by program slicing\u2019 inProceedings of the Second International Conference on Computers and Applications Peking People's Republic of China pp.877\u2013882."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/METRIC.1993.263799"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/390011.808263"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02943330"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.341844"},{"key":"e_1_2_1_35_1","unstructured":"Shahmehri N. (1991) \u2018Generalized algorithmic debugging\u2019 Ph. D. thesis Department of Computer Science and Information Science Link\u00f6ping University Sweden. Available as Link\u00f6ping Studies in Science and Technology Dissertations Number 260."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/174245.174252"},{"key":"e_1_2_1_37_1","volume-title":"Denotational semantics: The Scott\u2010Strachey Approach to Programming Languge Theory","author":"Stoy J. E.","year":"1985"},{"key":"e_1_2_1_38_1","unstructured":"Tip F. (1995a ) \u2018Generation of program analysis tools\u2019 Ph. D. thesis Centrum voor Wiskunde en Informatica Amsterdam The Netherlands."},{"key":"e_1_2_1_39_1","unstructured":"Tip F. (1995b ) \u2018A survey of program slicing techniques\u2019 Journal of Programming Languages to be published."},{"key":"e_1_2_1_40_1","doi-asserted-by":"crossref","unstructured":"Venkatesh G. A.(1991) \u2018The semantic approach to program slicing\u2019 in Proceeding of the ACM SIGPLAN Conference on Programming Language Design and Implementation Toronto Canada pp.26\u201328 ACM SIGPLAN Notices 26 (6) 107\u2013119.","DOI":"10.1145\/113446.113455"},{"key":"e_1_2_1_41_1","unstructured":"Weiser M. (1979) \u2018Program slices: formal psychological and practical investigations of an automatic program abstraction method\u2019 Ph. D. thesis University of Michigan Ann Arbor Michigan U.S.A."},{"key":"e_1_2_1_42_1","unstructured":"Weiser M. (1981) \u2018Program slicing\u2019 inProceedings of the Fifth International Conference on Software Engineering (ICSE\u20105) San Diego California U.S.A. March 1981 IEEE Computer Society Press Los Alamitos California U.S.A. pp.439\u2013449."},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(83)90052-2"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010248"}],"container-title":["Software Testing, Verification and Reliability"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fstvr.4370050303","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/stvr.4370050303","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,25]],"date-time":"2023-10-25T23:18:55Z","timestamp":1698275935000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/stvr.4370050303"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1995,1]]},"references-count":44,"journal-issue":{"issue":"3","published-print":{"date-parts":[[1995,1]]}},"alternative-id":["10.1002\/stvr.4370050303"],"URL":"https:\/\/doi.org\/10.1002\/stvr.4370050303","archive":["Portico"],"relation":{},"ISSN":["0960-0833","1099-1689"],"issn-type":[{"value":"0960-0833","type":"print"},{"value":"1099-1689","type":"electronic"}],"subject":[],"published":{"date-parts":[[1995,1]]}}}