{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,23]],"date-time":"2026-03-23T13:13:47Z","timestamp":1774271627581,"version":"3.50.1"},"reference-count":43,"publisher":"Association for Computing Machinery (ACM)","issue":"FSE","license":[{"start":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T00:00:00Z","timestamp":1720742400000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CNS-2120386"],"award-info":[{"award-number":["CNS-2120386"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100009226","name":"National Security Agency","doi-asserted-by":"publisher","award":["NCAE-C-002-2021"],"award-info":[{"award-number":["NCAE-C-002-2021"]}],"id":[{"id":"10.13039\/100009226","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2024,7,12]]},"abstract":"<jats:p>\n                    Program slicing, the process of extracting program statements that influence values at a designated location (known as the slicing criterion), is helpful in both manual and automated debugging. However, such slicing techniques prove ineffective in scenarios where executing specific inputs is prohibitively expensive, or even impossible, as with partial code. In this paper, we introduce ND-\n                    <jats:sc>Slicer<\/jats:sc>\n                    , a predictive slicing methodology that caters to specific executions based on a particular input, overcoming the need for actual execution. We enable such a process by leveraging execution-aware pre-training to learn the dynamic program dependencies, including both dynamic data and control dependencies between variables in the slicing criterion and the remaining program statements. Such knowledge forms the cornerstone for constructing a predictive backward slice. Our empirical evaluation revealed a high accuracy in predicting program slices, achieving an exact-match accuracy of\n                    <jats:inline-formula>\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"inline\">\n                        <mml:mn>81.3<\/mml:mn>\n                        <mml:mo>%<\/mml:mo>\n                      <\/mml:math>\n                    <\/jats:inline-formula>\n                    and a ROUGE-LCS F1-score of\n                    <jats:inline-formula>\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"inline\">\n                        <mml:mn>95.4<\/mml:mn>\n                        <mml:mo>%<\/mml:mo>\n                      <\/mml:math>\n                    <\/jats:inline-formula>\n                    on Python programs. As an extrinsic evaluation, we illustrate ND-\n                    <jats:sc>Slicer<\/jats:sc>\n                    's usefulness in crash detection, with it locating faults with an accuracy of\n                    <jats:inline-formula>\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"inline\">\n                        <mml:mn>63.9<\/mml:mn>\n                        <mml:mo>%<\/mml:mo>\n                      <\/mml:math>\n                    <\/jats:inline-formula>\n                    . Furthermore, we include an in-depth qualitative evaluation, assessing ND-\n                    <jats:sc>Slicer<\/jats:sc>\n                    \u2019s understanding of branched structures such as if-else blocks and loops, as well as the control flow in inter-procedural calls.\n                  <\/jats:p>","DOI":"10.1145\/3643739","type":"journal-article","created":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T10:22:09Z","timestamp":1720779729000},"page":"271-292","source":"Crossref","is-referenced-by-count":4,"title":["Predictive Program Slicing via Execution Knowledge-Guided Dynamic Dependence Learning"],"prefix":"10.1145","volume":"1","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8785-6319","authenticated-orcid":false,"given":"Aashish","family":"Yadavally","sequence":"first","affiliation":[{"name":"University of Texas at Dallas, Dallas, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0007-0143-0677","authenticated-orcid":false,"given":"Yi","family":"Li","sequence":"additional","affiliation":[{"name":"University of Texas at Dallas, Dallas, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-7962-6090","authenticated-orcid":false,"given":"Tien N.","family":"Nguyen","sequence":"additional","affiliation":[{"name":"University of Texas at Dallas, Dallas, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,7,12]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"[n.d.]. https:\/\/github.com\/AlaFalaki\/AttentionVisualizer."},{"key":"e_1_3_1_3_2","unstructured":"2022. A static analysis library for computing graph representations of Python programs. https:\/\/github.com\/google-research\/python-graphs"},{"key":"e_1_3_1_4_2","unstructured":"2023. Replication package for ND-Slicer. https:\/\/github.com\/aashishyadavally\/ND-slicer"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/93542.93576"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","unstructured":"Esben Andreasen Liang Gong Anders M\u00f8ller Michael Pradel Marija Selakovic Koushik Sen and Cristian-Alexandru Staicu. 2017. A Survey of Dynamic Analysis and Test Generation for JavaScript. ACM Comput. Surv. 50 5 Article 66 (sep 2017) 36 pages. https:\/\/doi.org\/10.1145\/3106739 10.1145\/3106739","DOI":"10.1145\/3106739"},{"key":"e_1_3_1_7_2","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/S0065-2458(08)60641-5","article-title":"Program Slicing","volume":"43","author":"David Binkley","year":"1996","unstructured":"David Binkley and Keith Gallagher. 1996. Program Slicing. Journal of Advanced Computing 43 (1996), 1-50.","journal-title":"Journal of Advanced Computing"},{"key":"e_1_3_1_8_2","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1145\/2635868.2635893","article-title":"ORBS: Language-independent Program Slicing","author":"David Binkley","year":"2014","unstructured":"David Binkley, Nicolas Gold, Mark Harman, Syed Islam, Jens Krinke, and Shin Yoo. 2014. ORBS: Language-independent Program Slicing. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 109-120.","journal-title":"In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM"},{"key":"e_1_3_1_9_2","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":"David Binkley","year":"2004","unstructured":"David Binkley and Mark Harman. 2004. A survey of empirical results on program slicing. Fournal of Advanced Computing 62 (2004), 105-178.","journal-title":"Fournal of Advanced Computing"},{"key":"e_1_3_1_10_2","first-page":"265","article-title":"An infrastructure for adaptive dynamic optimization","author":"Derek Bruening","year":"2003","unstructured":"Derek Bruening, Timothy Garnett, and Saman Amarasinghe. 2003. An infrastructure for adaptive dynamic optimization. In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-Directed and Runtime Optimization (San Francisco, California, USA) (CGO '03). IEEE Computer Society, USA, 265-275.","journal-title":"In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-Directed and Runtime Optimization"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0950-5849(98)00086-X"},{"key":"e_1_3_1_12_2","first-page":"9","article-title":"Understanding Function Behaviors Through Program Slicing","author":"Andrea de Lucia","year":"1996","unstructured":"Andrea, de Lucia, Anna, Rita Fasolino, and Malcolm Munro. 1996. Understanding Function Behaviors Through Program Slicing. In Proceedings of the 4th International Workshop on Program Comprehension. IEEE Computer Society, 9-18.","journal-title":"In Proceedings of the 4th International Workshop on Program Comprehension. IEEE Computer Society"},{"key":"e_1_3_1_13_2","volume-title":"In Proceedings of the International Conference on Software Engineering (ICSE 24)","author":"Yangruibo Ding","year":"2024","unstructured":"Yangruibo Ding, Benjamin Steenhoek, Kexin Pei, Gail E. Kaiser, Wei Le, and Baishakhi Ray. 2024. TRACED: Executionaware Pre-training for Source Code. In Proceedings of the International Conference on Software Engineering (ICSE 24). ACM Press."},{"key":"e_1_3_1_14_2","first-page":"379","article-title":"Parametric Program Slicing","author":"John Field","year":"1995","unstructured":"John Field, G., Ramalingam, and Frank Tip. 1995. Parametric Program Slicing. In Proceedings of the 22nd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages. ACM, 379-392.","journal-title":"In Proceedings of the 22nd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages. ACM"},{"key":"e_1_3_1_15_2","first-page":"11","article-title":"Stop-List Slicing","author":"Keith Gallagher","year":"2006","unstructured":"Keith Gallagher, David Binkley, and Mark Harman. 2006. Stop-List Slicing. In Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation. IEEE Computer Society, 11-20.","journal-title":"In Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation. IEEE Computer Society"},{"key":"e_1_3_1_16_2","volume-title":"GraphCodeBERT: Pre-training Code Representations with Data Flow","author":"Daya Guo","year":"2021","unstructured":"Daya Guo, Shuo Ren, Shuai Lu, Zhangyin Feng, Duyu Tang, Shujie Liu, Long Zhou, Nan Duan, Alexey Svyatkovskiy, Shengyu Fu, Michele Tufano, Shao, Kun Deng, Colin B. Clement, Dawn Drain, Neel Sundaresan, Jian Yin, Daxin Jiang, and Ming Zhou. 2021. GraphCodeBERT: Pre-training Code Representations with Data Flow. In ICLR. OpenReview.net."},{"key":"e_1_3_1_17_2","first-page":"70","article-title":"Amorphous Program Slicing","author":"Mark Harman","year":"1997","unstructured":"Mark Harman and Sebastian Danicic. 1997. Amorphous Program Slicing. In Proceedings of the 5th International Workshop on Program Comprehension. IEEE Computer Society, 70-79.","journal-title":"In Proceedings of the 5th International Workshop on Program Comprehension. IEEE Computer Society"},{"key":"e_1_3_1_18_2","article-title":"The Next 700 Slicing Criteria","author":"Mark Harman","year":"1996","unstructured":"Mark Harman, Sebastian Danicic, Yoga Sivagurunathan, and Dan Simpson. 1996. The Next 700 Slicing Criteria. In Proceedings of the 2nd U.K. Workshop on Program Comprehension.","journal-title":"In Proceedings of the 2nd U.K. Workshop on Program Comprehension"},{"key":"e_1_3_1_19_2","doi-asserted-by":"crossref","first-page":"577","DOI":"10.1016\/S0950-5849(98)00084-6","article-title":"Program Slicing","volume":"40","author":"Mark Harman","year":"1998","unstructured":"Mark Harman and Keith Gallagher. 1998. Program Slicing. Inform. Softw. Technol. 40 (1998), 577-582.","journal-title":"Inform. Softw. Technol."},{"key":"e_1_3_1_20_2","doi-asserted-by":"crossref","first-page":"85","DOI":"10.1002\/swf.41","article-title":"An overview of program slicing","volume":"3","author":"Mark Harman","year":"2001","unstructured":"Mark Harman and Robert Hierons. 2001. An overview of program slicing. Softw. Focus 3 (2001), 85-92.","journal-title":"Softw. Focus"},{"key":"e_1_3_1_21_2","doi-asserted-by":"crossref","unstructured":"Mark Harman Robert Hierons Chris Fox Sebastian Danicic and John Howroyd. 2001. Pre\/Post Conditioned Slicing. In Proceedings of the IEEE International Conference on Software Maintenance. IEEE Computer Society 138-147.","DOI":"10.1109\/ICSM.2001.972724"},{"key":"e_1_3_1_22_2","doi-asserted-by":"crossref","first-page":"315","DOI":"10.1023\/A:1026599015809","article-title":"Slicing Software for Model Construction","author":"John Hatcliff","year":"2000","unstructured":"John Hatcliff, Matthew B. Dwyer, and Hongjun Zheng. 2000. Slicing Software for Model Construction. Higher Order Symbolic Computation 13, 4 (2000), 315-353.","journal-title":"Higher Order Symbolic Computation 13, 4 (2000)"},{"key":"e_1_3_1_23_2","first-page":"38","article-title":"Path Slicing","author":"Ranjit Jhala","year":"2005","unstructured":"Ranjit Jhala and Rupak Majumdar. 2005. Path Slicing. In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, 38-47.","journal-title":"In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM"},{"key":"e_1_3_1_24_2","doi-asserted-by":"crossref","first-page":"155","DOI":"10.1016\/0020-0190(88)90054-3","article-title":"Dynamic Program Slicing","author":"Bogdan Korel","year":"1988","unstructured":"Bogdan Korel and Janusz Laski. 1988. Dynamic Program Slicing. Inf. Process. Lett. 29, 3 (Oct. 1988), 155-163.","journal-title":"Inf. Process. Lett. 29, 3 (Oct. 1988)"},{"key":"e_1_3_1_25_2","first-page":"4984","article-title":"Code Execution with Pre-trained Language Models","author":"Chenxiao Liu","year":"2023","unstructured":"Chenxiao Liu, Shuai Lu, Weizhu Chen, Daxin Jiang, Alexey Svyatkovskiy, Shengyu Fu, Neel Sundaresan, and Nan Duan. 2023. Code Execution with Pre-trained Language Models. In ACL (Findings). Association for Computational Linguistics, 4984-4999.","journal-title":"In ACL (Findings). Association for Computational Linguistics"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884784"},{"key":"e_1_3_1_27_2","unstructured":"Yinhan Liu Myle Ott Naman Goyal Jingfei Du Mandar Joshi Danqi Chen Omer Levy Mike Lewis Luke Zettlemoyer and Veselin Stoyanov. 2019. RoBERTa: A Robustly Optimized BERT Pretraining Approach. CoRR abs\/1907.11692 (2019)."},{"key":"e_1_3_1_28_2","first-page":"142","article-title":"Program slicing: Methods and applications","author":"Andrea De Lucia","year":"2001","unstructured":"Andrea, De Lucia. 2001. Program slicing: Methods and applications. In Proceedings of the 1st IEEE International Workshop on Source Code Analysis and Manipulation. IEEE Computer Society, 142-149.","journal-title":"In Proceedings of the 1st IEEE International Workshop on Source Code Analysis and Manipulation. IEEE Computer Society"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2011.6100110"},{"key":"e_1_3_1_30_2","doi-asserted-by":"crossref","unstructured":"Akira Nishimatsu Minoru Jihira Shinji Kusumoto and Katsuro Inoue. 1999. Call-mark Slicing: An Efficient and Economical Way of Reducing Slice. In Proceedings of the 21st International Conference on Software Engineering. ACM 422-431.","DOI":"10.1145\/302405.302674"},{"key":"e_1_3_1_31_2","doi-asserted-by":"crossref","unstructured":"Alex Orso Saurabh Sinha and Mary Jean Harrold. 2001. Incremental slicing based on data-dependence types. In Proceedings of the IEEE International Conference on Software Maintenance. IEEE Computer Society 158-167.","DOI":"10.1109\/ICSM.2001.972726"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/EIT48999.2020.9208241"},{"key":"e_1_3_1_33_2","unstructured":"Ruchir Puri David S. Kung Geert Janssen Wei Zhang Giacomo Domeniconi Vladimir Zolotov Julian Dolby Jie Chen Mihir R. Choudhury Lindsey Decker Veronika Thost Luca Buratti Saurabh Pujar and Ulrich Finkler. 2021. Project CodeNet: A Large-Scale AI for Code Dataset for Learning a Diversity of Coding Tasks. CoRR abs\/2105.12655 (2021)."},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806598"},{"key":"e_1_3_1_35_2","first-page":"1073","article-title":"Get To The Point: Summarization with Pointer-Generator Networks","author":"Abigail See","year":"2017","unstructured":"Abigail See, Peter J. Liu, and Christopher D. Manning. 2017. Get To The Point: Summarization with Pointer-Generator Networks. In ACL (1). Association for Computational Linguistics, 1073-1083.","journal-title":"In ACL (1). Association for Computational Linguistics"},{"issue":"3","key":"e_1_3_1_36_2","first-page":"41","article-title":"A Vocabulary of Program Slicing-based Techniques","volume":"44","author":"Josep Silva","year":"2012","unstructured":"Josep Silva. 2012. A Vocabulary of Program Slicing-based Techniques. ACM Comput. Surv. 44, 3, Article 12 (June 2012), 41 pages.","journal-title":"ACM Comput. Surv."},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/3611643.3616254"},{"key":"e_1_3_1_38_2","volume-title":"A Survey of Program Slicing Techniques","author":"Frank Tip","year":"1994","unstructured":"Frank Tip . 1994. A Survey of Program Slicing Techniques. Technical Report. Amsterdam, The Netherlands."},{"key":"e_1_3_1_39_2","volume-title":"In Advances in Neural Information Processing Systems","author":"Ashish Vaswani","year":"2017","unstructured":"Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N, Gomez, \u0141, ukasz Kaiser, and Illia, Polosukhin. 2017. Attention is All you Need. In Advances in Neural Information Processing Systems, I., Guyon, U., Von Luxburg, S., Bengio, H., Wallach, R., Fergus, S., Vishwanathan, and R., Garnett (Eds.), Vol. 30. Curran Associates, Inc. https:\/\/proceedings.neurips.cc\/paper_files\/paper\/2017\/file\/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3417943"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2002.1134111"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/1050849.1050865"},{"key":"e_1_3_1_43_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00209"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00046"}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643739","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3643739","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3643739","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T07:52:16Z","timestamp":1770191536000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643739"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,7,12]]},"references-count":43,"journal-issue":{"issue":"FSE","published-print":{"date-parts":[[2024,7,12]]}},"alternative-id":["10.1145\/3643739"],"URL":"https:\/\/doi.org\/10.1145\/3643739","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,7,12]]}}}