{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,7]],"date-time":"2025-01-07T19:10:01Z","timestamp":1736277001886,"version":"3.32.0"},"reference-count":62,"publisher":"Elsevier BV","issue":"1-3","license":[{"start":{"date-parts":[[2006,8,1]],"date-time":"2006-08-01T00:00:00Z","timestamp":1154390400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2013,7,17]],"date-time":"2013-07-17T00:00:00Z","timestamp":1374019200000},"content-version":"vor","delay-in-days":2542,"URL":"https:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theoretical Computer Science"],"published-print":{"date-parts":[[2006,8]]},"DOI":"10.1016\/j.tcs.2006.01.012","type":"journal-article","created":{"date-parts":[[2006,2,10]],"date-time":"2006-02-10T01:44:19Z","timestamp":1139535859000},"page":"23-41","source":"Crossref","is-referenced-by-count":29,"title":["Theoretical foundations of dynamic program slicing"],"prefix":"10.1016","volume":"360","author":[{"given":"Dave","family":"Binkley","sequence":"first","affiliation":[]},{"given":"Sebastian","family":"Danicic","sequence":"additional","affiliation":[]},{"given":"Tibor","family":"Gyim\u00f3thy","sequence":"additional","affiliation":[]},{"given":"Mark","family":"Harman","sequence":"additional","affiliation":[]},{"given":"\u00c1kos","family":"Kiss","sequence":"additional","affiliation":[]},{"given":"Bogdan","family":"Korel","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"issue":"6","key":"10.1016\/j.tcs.2006.01.012_bib1","doi-asserted-by":"crossref","first-page":"589","DOI":"10.1002\/spe.4380230603","article-title":"Debugging with dynamic slicing and backtracking","volume":"23","author":"Agrawal","year":"1993","journal-title":"Software Practice Experience"},{"key":"10.1016\/j.tcs.2006.01.012_bib2","doi-asserted-by":"crossref","unstructured":"H. Agrawal, J.R. Horgan, Dynamic program slicing, in: ACM SIGPLAN Conf. on Programming Language Design and Implementation, New York, 1990, pp. 246\u2013256.","DOI":"10.1145\/93548.93576"},{"key":"10.1016\/j.tcs.2006.01.012_bib3","series-title":"IEEE\/ACM 15th Conf. on Software Engineering (ICSE\u201993)","first-page":"509","article-title":"Program and interface slicing for reverse engineering","author":"Beck","year":"1993"},{"key":"10.1016\/j.tcs.2006.01.012_bib4","series-title":"Proc. Fifth European Conf. on Software Maintenance and Reengineering (CSMR 2001)","first-page":"105","article-title":"Dynamic slicing method for maintenance of large C programs","author":"Besz\u00e9des","year":"2001"},{"issue":"8","key":"10.1016\/j.tcs.2006.01.012_bib5","doi-asserted-by":"crossref","first-page":"644","DOI":"10.1109\/32.310673","article-title":"Measuring functional cohesion","volume":"20","author":"Bieman","year":"1994","journal-title":"IEEE Trans. Software Eng."},{"issue":"1\u20134","key":"10.1016\/j.tcs.2006.01.012_bib6","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1145\/176454.176473","article-title":"Precise executable interprocedural slices","volume":"3","author":"Binkley","year":"1993","journal-title":"ACM Lett. Programming Languages Systems"},{"key":"10.1016\/j.tcs.2006.01.012_bib7","doi-asserted-by":"crossref","unstructured":"D.W. Binkley, The application of program slicing to regression testing, in: M. Harman, K. Gallagher (Eds.), Information and Software Technology Special Issue on Program Slicing, Vol. 40, Elsevier, Amsterdam, 1998, pp. 583\u2013594.","DOI":"10.1016\/S0950-5849(98)00085-8"},{"key":"10.1016\/j.tcs.2006.01.012_bib8","series-title":"Fourth Internat. Workshop on Source Code Analysis and Manipulation (SCAM 04)","first-page":"43","article-title":"Formalizing executable dynamic and forward slicing","author":"Binkley","year":"2004"},{"key":"10.1016\/j.tcs.2006.01.012_bib9","first-page":"1","article-title":"Program slicing","volume":"Vol. 43","author":"Binkley","year":"1996"},{"key":"10.1016\/j.tcs.2006.01.012_bib10","doi-asserted-by":"crossref","first-page":"105","DOI":"10.1016\/S0065-2458(03)62003-6","article-title":"A survey of empirical results on program slicing","volume":"62","author":"Binkley","year":"2004","journal-title":"Adv. Comput."},{"issue":"1","key":"10.1016\/j.tcs.2006.01.012_bib11","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1145\/201055.201056","article-title":"Program integration for languages with procedure calls","volume":"4","author":"Binkley","year":"1995","journal-title":"ACM Trans. Software Eng. Methodology"},{"key":"10.1016\/j.tcs.2006.01.012_bib12","first-page":"595","article-title":"Conditioned program slicing","volume":"Vol. 40","author":"Canfora","year":"1998"},{"key":"10.1016\/j.tcs.2006.01.012_bib13","series-title":"Internat. Conf. on Software Maintenance (ICSM\u201996)","first-page":"424","article-title":"Software salvaging based on conditions","author":"Canfora","year":"1994"},{"issue":"2","key":"10.1016\/j.tcs.2006.01.012_bib14","doi-asserted-by":"crossref","first-page":"53","DOI":"10.1002\/smr.4360060202","article-title":"RE2: reverse engineering and reuse re-engineering","volume":"6","author":"Canfora","year":"1994","journal-title":"J. Software Maintenance: Res. Practice"},{"key":"10.1016\/j.tcs.2006.01.012_bib15","doi-asserted-by":"crossref","unstructured":"R. Cartwright, M. Felleisen, The semantics of program dependence, in: ACM SIGPLAN Conf. on Programming Language Design and Implementation, 1989, pp. 13\u201327.","DOI":"10.1145\/74818.74820"},{"key":"10.1016\/j.tcs.2006.01.012_bib16","doi-asserted-by":"crossref","unstructured":"A. Cimitile, A. De Lucia, M. Munro, Identifying reusable functions using specification driven program slicing: a case study, in: Proc. IEEE Internat. Conf. on Software Maintenance (ICSM\u201995), IEEE Computer Society Press, Los Alamitos, CA, USA, Nice, France, 1995, pp. 124\u2013133.","DOI":"10.1109\/ICSM.1995.526534"},{"key":"10.1016\/j.tcs.2006.01.012_bib17","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1002\/(SICI)1096-908X(199605)8:3<145::AID-SMR127>3.0.CO;2-9","article-title":"A specification driven slicing process for identifying reusable functions","volume":"8","author":"Cimitile","year":"1996","journal-title":"Software Maintenance: Res. Practice"},{"key":"10.1016\/j.tcs.2006.01.012_bib18","unstructured":"S. Danicic, Dataflow minimal slicing, Ph.D. Thesis, School of Informatics, University of North London, UK, April 1999."},{"key":"10.1016\/j.tcs.2006.01.012_bib19","doi-asserted-by":"crossref","unstructured":"S. Danicic, M. Daoudi, C. Fox, M. Harman, R. M. Hierons, J. Howroyd, L. Ouarbya, M. Ward, Consus: a lightweight program conditioner, J. Systems Software (2004), accepted for publication.","DOI":"10.1016\/j.jss.2004.03.034"},{"key":"10.1016\/j.tcs.2006.01.012_bib20","series-title":"First IEEE Internat. Workshop on Source Code Analysis and Manipulation","first-page":"142","article-title":"Program slicing: methods and applications","author":"De Lucia","year":"2001"},{"key":"10.1016\/j.tcs.2006.01.012_bib21","series-title":"Fourth IEEE Workshop on Program Comprehension","first-page":"9","article-title":"Understanding function behaviors through program slicing","author":"De Lucia","year":"1996"},{"issue":"3","key":"10.1016\/j.tcs.2006.01.012_bib22","doi-asserted-by":"crossref","first-page":"319","DOI":"10.1145\/24039.24041","article-title":"The program dependence graph and its use in optimization","volume":"9","author":"Ferrante","year":"1987","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/j.tcs.2006.01.012_bib23","doi-asserted-by":"crossref","unstructured":"C. Fox, S. Danicic, M. Harman, R.M. Hierons, ConSIT: a fully automated conditioned program slicer, Software Practice Experience 43 (2004) 15\u201346; published online 26th November 2003.","DOI":"10.1002\/spe.556"},{"key":"10.1016\/j.tcs.2006.01.012_bib24","series-title":"Proc. Internat. Conf. on Software Maintenance","first-page":"236","article-title":"Evaluating the surgeon's assistant: results of a pilot study","author":"Gallagher","year":"1992"},{"issue":"8","key":"10.1016\/j.tcs.2006.01.012_bib25","doi-asserted-by":"crossref","first-page":"751","DOI":"10.1109\/32.83912","article-title":"Using program slicing in software maintenance","volume":"17","author":"Gallagher","year":"1991","journal-title":"IEEE Trans. Software Eng."},{"issue":"4","key":"10.1016\/j.tcs.2006.01.012_bib26","doi-asserted-by":"crossref","first-page":"297","DOI":"10.1023\/A:1025872819613","article-title":"Non-standard semantics for program slicing","volume":"16","author":"Giacobazzi","year":"2003","journal-title":"Higher-Order and Symbolic Comput."},{"key":"10.1016\/j.tcs.2006.01.012_bib27","doi-asserted-by":"crossref","unstructured":"R. Gopal, Dynamic program slicing based on dependence graphs, in: IEEE Conf. on Software Maintenance, 1991, pp. 191\u2013200.","DOI":"10.1109\/ICSM.1991.160329"},{"key":"10.1016\/j.tcs.2006.01.012_bib28","unstructured":"Grammatech Inc., The codesurfer slicing system, 2002 \u3008URL www.grammatech.com\u3009."},{"key":"10.1016\/j.tcs.2006.01.012_bib29","series-title":"Proc. IEEE Conf. on Software Maintenance","first-page":"299","article-title":"An approach to regression testing using slicing","author":"Gupta","year":"1992"},{"issue":"1","key":"10.1016\/j.tcs.2006.01.012_bib30","doi-asserted-by":"crossref","first-page":"45","DOI":"10.1016\/S0164-1212(02)00135-8","article-title":"Amorphous program slicing","volume":"68","author":"Harman","year":"2003","journal-title":"J. Systems Software"},{"issue":"3","key":"10.1016\/j.tcs.2006.01.012_bib31","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1002\/stvr.4370050303","article-title":"Using program slicing to simplify testing","volume":"5","author":"Harman","year":"1995","journal-title":"Software Testing, Verification Reliability"},{"key":"10.1016\/j.tcs.2006.01.012_bib32","series-title":"Fifth IEEE Internat. Workshop on Program Comprehension (IWPC\u201997)","first-page":"70","article-title":"Amorphous program slicing","author":"Harman","year":"1997"},{"issue":"3","key":"10.1016\/j.tcs.2006.01.012_bib33","doi-asserted-by":"crossref","first-page":"85","DOI":"10.1002\/swf.41","article-title":"An overview of program slicing","volume":"2","author":"Harman","year":"2001","journal-title":"Software Focus"},{"key":"10.1016\/j.tcs.2006.01.012_bib34","series-title":"IEEE Internat. Conf. on Software Maintenance (ICSM\u201901)","first-page":"138","article-title":"Pre\/post conditioned slicing","author":"Harman","year":"2001"},{"issue":"1","key":"10.1016\/j.tcs.2006.01.012_bib35","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1109\/TSE.2004.1265732","article-title":"Testability transformation","volume":"30","author":"Harman","year":"2004","journal-title":"IEEE Trans. Software Eng."},{"issue":"4","key":"10.1016\/j.tcs.2006.01.012_bib36","doi-asserted-by":"crossref","first-page":"490","DOI":"10.1007\/BF01213536","article-title":"Slicing programs in the presence of errors","volume":"8","author":"Harman","year":"1996","journal-title":"Formal Aspects Comput."},{"issue":"4","key":"10.1016\/j.tcs.2006.01.012_bib37","doi-asserted-by":"crossref","first-page":"233","DOI":"10.1002\/(SICI)1099-1689(199912)9:4<233::AID-STVR191>3.0.CO;2-3","article-title":"Using program slicing to assist in the detection of equivalent mutants","volume":"9","author":"Hierons","year":"1999","journal-title":"Software Testing, Verification Reliability"},{"key":"10.1016\/j.tcs.2006.01.012_bib38","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1002\/stvr.232","article-title":"Conditioned slicing supports partition testing","volume":"12","author":"Hierons","year":"2002","journal-title":"Software Testing, Verification Reliability"},{"issue":"3","key":"10.1016\/j.tcs.2006.01.012_bib39","doi-asserted-by":"crossref","first-page":"345","DOI":"10.1145\/65979.65980","article-title":"Integrating non-interfering versions of programs","volume":"11","author":"Horwitz","year":"1989","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/j.tcs.2006.01.012_bib40","doi-asserted-by":"crossref","unstructured":"S. Horwitz, T. Reps, D.W. Binkley, Interprocedural slicing using dependence graphs, in: ACM SIGPLAN Conf. on Programming Language Design and Implementation, Atlanta, Georgia, 1988, pp. 25-46; Proc. in SIGPLAN Notices, Vol. 23(7), 1988, pp. 35\u201346.","DOI":"10.1145\/960116.53994"},{"issue":"1","key":"10.1016\/j.tcs.2006.01.012_bib41","doi-asserted-by":"crossref","first-page":"26","DOI":"10.1145\/77606.77608","article-title":"Interprocedural slicing using dependence graphs","volume":"12","author":"Horwitz","year":"1990","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/j.tcs.2006.01.012_bib42","unstructured":"M. Kamkar, Interprocedural dynamic slicing with applications to debugging and testing, 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, 1993."},{"key":"10.1016\/j.tcs.2006.01.012_bib43","doi-asserted-by":"crossref","unstructured":"M. Kamkar, N. Shahmehri, P. Fritzson, Interprocedural dynamic slicing, in: Proc. Fourth Conf. on Programming Language Implementation and Logic Programming, 1992, pp. 370\u2013384.","DOI":"10.1007\/3-540-55844-6_148"},{"issue":"1","key":"10.1016\/j.tcs.2006.01.012_bib44","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1016\/0020-0190(71)90018-4","article-title":"Notes on avoiding \u201cgo to\u201d statements","volume":"1","author":"Knuth","year":"1971","journal-title":"Inform. Process. Lett."},{"issue":"3","key":"10.1016\/j.tcs.2006.01.012_bib45","doi-asserted-by":"crossref","first-page":"155","DOI":"10.1016\/0020-0190(88)90054-3","article-title":"Dynamic program slicing","volume":"29","author":"Korel","year":"1988","journal-title":"Inform. Process. Lett."},{"key":"10.1016\/j.tcs.2006.01.012_bib46","series-title":"Fifth IEEE Internat. Workshop on Program Comprehension (IWPC\u201997)","first-page":"80","article-title":"Dynamic program slicing in understanding of program execution","author":"Korel","year":"1997"},{"key":"10.1016\/j.tcs.2006.01.012_bib47","first-page":"647","article-title":"Dynamic program slicing methods","volume":"Vol. 40","author":"Korel","year":"1998"},{"key":"10.1016\/j.tcs.2006.01.012_bib48","unstructured":"A. Lakhotia, Rule-based approach to computing module cohesion, in: Proc. 15th Conf. on Software Engineering (ICSE-15), 1993, pp. 34\u201344."},{"key":"10.1016\/j.tcs.2006.01.012_bib49","doi-asserted-by":"crossref","first-page":"831","DOI":"10.1016\/S0304-3975(02)00374-2","article-title":"Equivalence of conservative, free, linear program schemas is decidable","volume":"290","author":"Laurence","year":"2003","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/j.tcs.2006.01.012_bib50","series-title":"Second Internat. Conf. on Computers and Applications","first-page":"877","article-title":"Automatic program bug location by program slicing","author":"Lyle","year":"1987"},{"key":"10.1016\/j.tcs.2006.01.012_bib51","series-title":"Proc. IEEE-CS Internat. Metrics Symp.","first-page":"71","article-title":"Slice based metrics for estimating cohesion","author":"Ott","year":"1993"},{"issue":"5","key":"10.1016\/j.tcs.2006.01.012_bib52","doi-asserted-by":"crossref","first-page":"177","DOI":"10.1145\/390011.808263","article-title":"The program dependence graph in software development environments","volume":"19","author":"Ottenstein","year":"1984","journal-title":"SIGPLAN Notices"},{"issue":"4","key":"10.1016\/j.tcs.2006.01.012_bib53","doi-asserted-by":"crossref","first-page":"893","DOI":"10.1145\/48014.48021","article-title":"Eliminating goto's while preserving program structure","volume":"35","author":"Ramshaw","year":"1988","journal-title":"J. ACM"},{"key":"10.1016\/j.tcs.2006.01.012_bib54","first-page":"701","article-title":"Program analysis via graph reachability","volume":"Vol. 40","author":"Reps","year":"1998"},{"key":"10.1016\/j.tcs.2006.01.012_bib55","unstructured":"T. Reps, W. Yang, The semantics of program slicing, Technical Report 777, University of Wisconsin, 1988."},{"issue":"3","key":"10.1016\/j.tcs.2006.01.012_bib56","doi-asserted-by":"crossref","first-page":"26","DOI":"10.1145\/174245.174252","article-title":"Recoup\u2014maintaining Fortran","volume":"12","author":"Simpson","year":"1993","journal-title":"ACM Fortran Forum"},{"issue":"3","key":"10.1016\/j.tcs.2006.01.012_bib57","first-page":"121","article-title":"A survey of program slicing techniques","volume":"3","author":"Tip","year":"1995","journal-title":"J. Programming Languages"},{"key":"10.1016\/j.tcs.2006.01.012_bib58","doi-asserted-by":"crossref","unstructured":"G.A. Venkatesh, The semantic approach to program slicing, in: ACM SIGPLAN Conf. on Programming Language Design and Implementation, Toronto, Canada, 1991, pp. 26\u201328; Proc. SIGPLAN Notices, Vol. 26(6), 1991, pp. 107\u2013119.","DOI":"10.1145\/113445.113455"},{"key":"10.1016\/j.tcs.2006.01.012_bib59","unstructured":"M. Weiser, Program slices: formal, psychological, and practical investigations of an automatic program abstraction method, Ph.D. Thesis, University of Michigan, Ann Arbor, MI, 1979."},{"issue":"7","key":"10.1016\/j.tcs.2006.01.012_bib60","doi-asserted-by":"crossref","first-page":"446","DOI":"10.1145\/358557.358577","article-title":"Programmers use slicing when debugging","volume":"25","author":"Weiser","year":"1982","journal-title":"Comm. ACM"},{"issue":"4","key":"10.1016\/j.tcs.2006.01.012_bib61","doi-asserted-by":"crossref","first-page":"352","DOI":"10.1109\/TSE.1984.5010248","article-title":"Program slicing","volume":"10","author":"Weiser","year":"1984","journal-title":"IEEE Trans. Software Eng."},{"key":"10.1016\/j.tcs.2006.01.012_bib62","unstructured":"M. Weiser, J. R. Lyle, Experiments on slicing-based debugging aids, in: E. Soloway, S. Iyengar (Eds.), Empirical Studies of Programmers, Molex, 1985, pp. 187\u2013197 (Chap. 12)."}],"container-title":["Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S030439750600020X?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S030439750600020X?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,1,7]],"date-time":"2025-01-07T18:12:11Z","timestamp":1736273531000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S030439750600020X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,8]]},"references-count":62,"journal-issue":{"issue":"1-3","published-print":{"date-parts":[[2006,8]]}},"alternative-id":["S030439750600020X"],"URL":"https:\/\/doi.org\/10.1016\/j.tcs.2006.01.012","relation":{},"ISSN":["0304-3975"],"issn-type":[{"type":"print","value":"0304-3975"}],"subject":[],"published":{"date-parts":[[2006,8]]}}}