{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T00:12:48Z","timestamp":1759968768837,"version":"build-2065373602"},"reference-count":95,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2026,3,31]]},"abstract":"<jats:p>\n            Incremental data flow analysis employs techniques that update the data flow information based only on the modified parts of the code, thus, reusing a lot of previously computed information. Since most real-world software systems evolve with time, incremental analysis techniques provide an efficient, and often the only feasible alternative to a complete (re)analysis from scratch. We describe how the existing incremental analysis techniques fall under a common\n            <jats:italic toggle=\"yes\">reset and recompute<\/jats:italic>\n            paradigm. This has two-fold benefits. First, it facilitates us to survey a wide range of incremental techniques based on how they adapt this paradigm. Secondly, it enables us to identify gaps and open challenges in the field of incremental data flow analysis, to guide future research in this area.\n          <\/jats:p>","DOI":"10.1145\/3768155","type":"journal-article","created":{"date-parts":[[2025,9,15]],"date-time":"2025-09-15T11:46:49Z","timestamp":1757936809000},"page":"1-36","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Common Threads in Incremental Data Flow Analysis: A Comprehensive Survey"],"prefix":"10.1145","volume":"58","author":[{"ORCID":"https:\/\/orcid.org\/0009-0003-0290-7394","authenticated-orcid":false,"given":"Anushri","family":"Jana","sequence":"first","affiliation":[{"name":"Department of Technology, Savitribai Phule Pune University","place":["Pune, India"]},{"name":"TCS Research, Tata Consultancy Services Ltd","place":["Pune, India"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5203-4494","authenticated-orcid":false,"given":"Uday","family":"Khedker","sequence":"additional","affiliation":[{"name":"Computer Science and Engineering, Indian Institute of Technology Bombay","place":["Mumbai, India"]}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,10,7]]},"reference":[{"doi-asserted-by":"publisher","key":"e_1_3_2_2_2","DOI":"10.1145\/1953355.1953370"},{"doi-asserted-by":"publisher","key":"e_1_3_2_3_2","DOI":"10.1145\/800116.803767"},{"doi-asserted-by":"publisher","key":"e_1_3_2_4_2","DOI":"10.5555\/1095594"},{"doi-asserted-by":"publisher","key":"e_1_3_2_5_2","DOI":"10.1145\/360018.360025"},{"key":"e_1_3_2_6_2","volume-title":"Program Analysis and Specialization for the C Programming Language","author":"Andersen L. O.","year":"1994","unstructured":"L. O. Andersen. 1994. Program Analysis and Specialization for the C Programming Language. Ph.D. Dissertation. University of Copenhagen."},{"doi-asserted-by":"publisher","key":"e_1_3_2_7_2","DOI":"10.1145\/2568225.2568243"},{"doi-asserted-by":"publisher","key":"e_1_3_2_8_2","DOI":"10.1145\/2745802.2745818"},{"doi-asserted-by":"publisher","key":"e_1_3_2_9_2","DOI":"10.1145\/78969.78963"},{"doi-asserted-by":"publisher","key":"e_1_3_2_10_2","DOI":"10.1109\/32.56098"},{"doi-asserted-by":"publisher","key":"e_1_3_2_11_2","DOI":"10.1145\/73560.73584"},{"doi-asserted-by":"publisher","key":"e_1_3_2_12_2","DOI":"10.1145\/1250734.1250789"},{"doi-asserted-by":"publisher","key":"e_1_3_2_13_2","DOI":"10.1109\/ISSREW63542.2024.00049"},{"doi-asserted-by":"publisher","key":"e_1_3_2_14_2","DOI":"10.1109\/SANER53432.2022.00083"},{"doi-asserted-by":"publisher","key":"e_1_3_2_15_2","DOI":"10.1145\/502874.502898"},{"doi-asserted-by":"publisher","key":"e_1_3_2_16_2","DOI":"10.1145\/512950.512973"},{"doi-asserted-by":"publisher","key":"e_1_3_2_17_2","DOI":"10.1145\/567752.567778"},{"doi-asserted-by":"publisher","key":"e_1_3_2_18_2","DOI":"10.1007\/3-540-45937-5_13"},{"doi-asserted-by":"publisher","key":"e_1_3_2_19_2","DOI":"10.5555\/264989"},{"doi-asserted-by":"publisher","key":"e_1_3_2_20_2","DOI":"10.1145\/1348250.1348255"},{"doi-asserted-by":"publisher","key":"e_1_3_2_21_2","DOI":"10.20868\/UPM.thesis.68446"},{"doi-asserted-by":"publisher","key":"e_1_3_2_22_2","DOI":"10.1007\/978-3-030-45260-5_3"},{"doi-asserted-by":"publisher","key":"e_1_3_2_23_2","DOI":"10.1017\/S1471068420000496"},{"doi-asserted-by":"publisher","key":"e_1_3_2_24_2","DOI":"10.1145\/3382092"},{"doi-asserted-by":"publisher","key":"e_1_3_2_25_2","DOI":"10.1145\/3511430.3511451"},{"doi-asserted-by":"publisher","key":"e_1_3_2_26_2","DOI":"10.5555\/911125"},{"doi-asserted-by":"publisher","key":"e_1_3_2_27_2","DOI":"10.1145\/321921.321939"},{"doi-asserted-by":"publisher","key":"e_1_3_2_28_2","DOI":"10.1145\/170036.170066"},{"doi-asserted-by":"publisher","key":"e_1_3_2_29_2","DOI":"10.5555\/540175"},{"doi-asserted-by":"publisher","key":"e_1_3_2_30_2","DOI":"10.1145\/800152.804919"},{"doi-asserted-by":"publisher","key":"e_1_3_2_31_2","DOI":"10.1137\/0204044"},{"doi-asserted-by":"publisher","key":"e_1_3_2_32_2","DOI":"10.1145\/349214.349216"},{"doi-asserted-by":"publisher","key":"e_1_3_2_33_2","DOI":"10.1109\/ISSREW55968.2022.00038"},{"doi-asserted-by":"publisher","key":"e_1_3_2_34_2","DOI":"10.1109\/ISSRE52982.2021.00062"},{"key":"e_1_3_2_35_2","first-page":"275","volume-title":"Proceedings of the International Symposium on Logic-Based Program Synthesis and Transformation","author":"Jana Anushri","year":"2016","unstructured":"Anushri Jana, Uday P. Khedker, Advaita Datar, and R. Venkatesh. 2016. Scaling bounded model checking by transforming programs with arrays. In Proceedings of the International Symposium on Logic-Based Program Synthesis and Transformation. Springer, 275\u2013292."},{"doi-asserted-by":"publisher","key":"e_1_3_2_36_2","DOI":"10.1109\/WCRE.2012.29"},{"doi-asserted-by":"publisher","key":"e_1_3_2_37_2","DOI":"10.1145\/321921.321938"},{"doi-asserted-by":"publisher","key":"e_1_3_2_38_2","DOI":"10.1145\/512976.512978"},{"doi-asserted-by":"publisher","key":"e_1_3_2_39_2","DOI":"10.1137\/0205014"},{"doi-asserted-by":"publisher","key":"e_1_3_2_40_2","DOI":"10.1201\/9780849332517"},{"doi-asserted-by":"publisher","key":"e_1_3_2_41_2","DOI":"10.5555\/AAI30273937"},{"doi-asserted-by":"publisher","key":"e_1_3_2_42_2","DOI":"10.1145\/186025.186043"},{"doi-asserted-by":"publisher","key":"e_1_3_2_43_2","DOI":"10.1145\/512927.512945"},{"doi-asserted-by":"publisher","key":"e_1_3_2_44_2","DOI":"10.1145\/143103.143137"},{"doi-asserted-by":"publisher","key":"e_1_3_2_45_2","DOI":"10.5555\/1765931.1765948"},{"doi-asserted-by":"publisher","key":"e_1_3_2_46_2","DOI":"10.1145\/3527332"},{"doi-asserted-by":"publisher","key":"e_1_3_2_47_2","DOI":"10.1145\/3293606"},{"doi-asserted-by":"publisher","key":"e_1_3_2_48_2","DOI":"10.1007\/978-3-642-37051-9_4"},{"doi-asserted-by":"publisher","key":"e_1_3_2_49_2","DOI":"10.1145\/96709.96728"},{"key":"e_1_3_2_50_2","volume-title":"Proceedings of the 6th Biennial Conference on Innovative Data Systems Research, CIDR 2013, Asilomar, CA, USA, January 6-9, 2013.","author":"McSherry Frank","year":"2013","unstructured":"Frank McSherry, Derek Gordon Murray, Rebecca Isaacs, and Michael Isard. 2013. Differential dataflow. In Proceedings of the 6th Biennial Conference on Innovative Data Systems Research, CIDR 2013, Asilomar, CA, USA, January 6-9, 2013. Retrieved from http:\/\/cidrdb.org\/cidr2013\/Papers\/CIDR13_Paper111.pdf"},{"doi-asserted-by":"publisher","unstructured":"Antoine Min\u00e9. 2006. The octagon abstract domain. Higher-Order and Symbolic Computation 19 1 (2006) 31\u2013100. DOI:10.1007\/s10990-006-8609-1","key":"e_1_3_2_51_2","DOI":"10.1007\/s10990-006-8609-1"},{"key":"e_1_3_2_52_2","volume-title":"Deriving a Fixpoint Computation Algorithm for Top-down Abstract Interpretation of Logic Programs","author":"Muthukumar Kalyan","year":"1990","unstructured":"Kalyan Muthukumar and Manuel V. Hermenegildo. 1990. Deriving a Fixpoint Computation Algorithm for Top-down Abstract Interpretation of Logic Programs. Technical Report. Informatica, Madrid, Spain. Retrieved from http:\/\/clip.dia.fi.upm.es\/pub\/papers\/tr153-90.mcc.ps.Z?"},{"doi-asserted-by":"publisher","key":"e_1_3_2_53_2","DOI":"10.1016\/0743-1066(92)90035-2"},{"doi-asserted-by":"publisher","key":"e_1_3_2_54_2","DOI":"10.1007\/978-3-030-11245-5_12"},{"doi-asserted-by":"publisher","key":"e_1_3_2_55_2","DOI":"10.1145\/3720436"},{"doi-asserted-by":"publisher","key":"e_1_3_2_56_2","DOI":"10.1145\/3209108.3209109"},{"doi-asserted-by":"publisher","key":"e_1_3_2_57_2","DOI":"10.1145\/2487568.2487569"},{"doi-asserted-by":"publisher","key":"e_1_3_2_58_2","DOI":"10.1109\/32.58766"},{"doi-asserted-by":"publisher","key":"e_1_3_2_59_2","DOI":"10.1145\/582153.582172"},{"doi-asserted-by":"publisher","key":"e_1_3_2_60_2","DOI":"10.5555\/271338.271343"},{"doi-asserted-by":"publisher","key":"e_1_3_2_61_2","DOI":"10.1145\/199448.199462"},{"doi-asserted-by":"publisher","key":"e_1_3_2_62_2","DOI":"10.1007\/978-1-4615-2207-2_8"},{"doi-asserted-by":"publisher","key":"e_1_3_2_63_2","DOI":"10.1145\/567532.567545"},{"doi-asserted-by":"publisher","key":"e_1_3_2_64_2","DOI":"10.5555\/278918"},{"doi-asserted-by":"publisher","key":"e_1_3_2_65_2","DOI":"10.1145\/567067.567084"},{"doi-asserted-by":"publisher","key":"e_1_3_2_66_2","DOI":"10.1145\/27632.27649"},{"doi-asserted-by":"publisher","key":"e_1_3_2_67_2","DOI":"10.1145\/42192.42193"},{"doi-asserted-by":"publisher","key":"e_1_3_2_68_2","DOI":"10.1016\/0304-3975(96)00072-2"},{"doi-asserted-by":"publisher","key":"e_1_3_2_69_2","DOI":"10.1145\/514188.514190"},{"doi-asserted-by":"publisher","key":"e_1_3_2_70_2","DOI":"10.1145\/1069774.1069785"},{"doi-asserted-by":"publisher","key":"e_1_3_2_71_2","DOI":"10.1007\/11562931_19"},{"key":"e_1_3_2_72_2","volume-title":"Scaling Static Whole-Program Analysis to Modern C and C++ Software Development","author":"Schubert Philipp Dominik","year":"2024","unstructured":"Philipp Dominik Schubert. 2024. Scaling Static Whole-Program Analysis to Modern C and C++ Software Development. Ph.D. Dissertation. Paderborn University."},{"doi-asserted-by":"publisher","key":"e_1_3_2_73_2","DOI":"10.1007\/978-3-030-41103-9_5"},{"doi-asserted-by":"publisher","key":"e_1_3_2_74_2","DOI":"10.1145\/3236950.3236967"},{"key":"e_1_3_2_75_2","volume-title":"Program Flow Analysis: Theory and Applications","author":"Sharir Micha","year":"1981","unstructured":"Micha Sharir and M. Pnueli. 1981. Two approaches to interprocedural data flow analysis. Program Flow Analysis: Theory and Applications. Prentice-Hall Inc., Englewood Cliffs."},{"doi-asserted-by":"publisher","key":"e_1_3_2_76_2","DOI":"10.1145\/231379.231434"},{"doi-asserted-by":"publisher","key":"e_1_3_2_77_2","DOI":"10.5555\/AAI29064952"},{"doi-asserted-by":"publisher","key":"e_1_3_2_78_2","DOI":"10.1145\/3453483.3454044"},{"doi-asserted-by":"publisher","key":"e_1_3_2_79_2","DOI":"10.1145\/3648441"},{"doi-asserted-by":"publisher","key":"e_1_3_2_80_2","DOI":"10.1007\/978-0-387-21738-3"},{"doi-asserted-by":"publisher","unstructured":"Robert E. Strom and Shaula Yemini. 1986. Typestate: A programming language concept for enhancing software reliability. IEEE Transactions on Software Engineering SE-12 1 (1986) 157\u2013171. DOI:10.1109\/TSE.1986.6312929","key":"e_1_3_2_81_2","DOI":"10.1109\/TSE.1986.6312929"},{"doi-asserted-by":"publisher","key":"e_1_3_2_82_2","DOI":"10.1145\/2892208.2892235"},{"key":"e_1_3_2_83_2","volume-title":"Incrementalizing Static Analyses in Datalog","author":"Szab\u00f3 Tam\u00e1s","year":"2021","unstructured":"Tam\u00e1s Szab\u00f3. 2021. Incrementalizing Static Analyses in Datalog. Ph.D. Dissertation. Universit\u00e4tsbibliothek der Johannes Gutenberg-Universit\u00e4t Mainz."},{"doi-asserted-by":"publisher","key":"e_1_3_2_84_2","DOI":"10.1145\/3276509"},{"doi-asserted-by":"publisher","key":"e_1_3_2_85_2","DOI":"10.1145\/3453483.3454026"},{"doi-asserted-by":"publisher","key":"e_1_3_2_86_2","DOI":"10.1145\/2970276.2970298"},{"doi-asserted-by":"publisher","key":"e_1_3_2_87_2","DOI":"10.1145\/322261.322273"},{"doi-asserted-by":"publisher","key":"e_1_3_2_88_2","DOI":"10.1137\/1.9780898719574"},{"doi-asserted-by":"publisher","key":"e_1_3_2_89_2","DOI":"10.1109\/SWAT.1972.1"},{"doi-asserted-by":"publisher","key":"e_1_3_2_90_2","DOI":"10.1007\/978-3-031-24950-1_14"},{"doi-asserted-by":"publisher","key":"e_1_3_2_91_2","DOI":"10.1109\/SCAM51674.2020.00008"},{"doi-asserted-by":"publisher","unstructured":"Jiayi Wang Yu Wang Ke Wang and Linzhang Wang. 2025. SILVA: A scalable incremental layered sparse value-flow analysis. ACM Trans. Softw. Eng. Methodol. (March 2025). DOI:10.1145\/3725214","key":"e_1_3_2_92_2","DOI":"10.1145\/3725214"},{"doi-asserted-by":"publisher","key":"e_1_3_2_93_2","DOI":"10.1145\/2601248.2601268"},{"doi-asserted-by":"publisher","key":"e_1_3_2_94_2","DOI":"10.1145\/302405.302676"},{"doi-asserted-by":"publisher","key":"e_1_3_2_95_2","DOI":"10.1145\/502874.502888"},{"doi-asserted-by":"publisher","key":"e_1_3_2_96_2","DOI":"10.1145\/2950290.2950332"}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3768155","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,7]],"date-time":"2025-10-07T23:58:59Z","timestamp":1759881539000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3768155"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,10,7]]},"references-count":95,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2026,3,31]]}},"alternative-id":["10.1145\/3768155"],"URL":"https:\/\/doi.org\/10.1145\/3768155","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"type":"print","value":"0360-0300"},{"type":"electronic","value":"1557-7341"}],"subject":[],"published":{"date-parts":[[2025,10,7]]},"assertion":[{"value":"2024-10-09","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-09-09","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-10-07","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}