{"id":"https://openalex.org/W2026794345","doi":"https://doi.org/10.1145/2568225.2568243","title":"Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes","display_name":"Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes","publication_year":2014,"publication_date":"2014-05-20","ids":{"openalex":"https://openalex.org/W2026794345","doi":"https://doi.org/10.1145/2568225.2568243","mag":"2026794345"},"language":"en","primary_location":{"id":"doi:10.1145/2568225.2568243","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2568225.2568243","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 36th International Conference on Software Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5026715017","display_name":"Steven Arzt","orcid":"https://orcid.org/0000-0002-5807-9431"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Steven Arzt","raw_affiliation_strings":["TU Darmstadt, Germany","[TU, Darmstadt, Germany]"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]},{"raw_affiliation_string":"[TU, Darmstadt, Germany]","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076678278","display_name":"Eric Bodden","orcid":"https://orcid.org/0000-0003-3470-3647"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]},{"id":"https://openalex.org/I4210133470","display_name":"Fraunhofer Institute for Secure Information Technology","ror":"https://ror.org/03qt2gs44","country_code":"DE","type":"facility","lineage":["https://openalex.org/I4210133470","https://openalex.org/I4923324"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Eric Bodden","raw_affiliation_strings":["TU Darmstadt, Germany / Fraunhofer SIT, Germany","TU Darmstadt, Germany / Fraunhofer SIT, Germany#TAB#"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany / Fraunhofer SIT, Germany","institution_ids":["https://openalex.org/I4210133470","https://openalex.org/I31512782"]},{"raw_affiliation_string":"TU Darmstadt, Germany / Fraunhofer SIT, Germany#TAB#","institution_ids":["https://openalex.org/I31512782"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5026715017"],"corresponding_institution_ids":["https://openalex.org/I31512782"],"apc_list":null,"apc_paid":null,"fwci":3.3828,"has_fulltext":false,"cited_by_count":78,"citation_normalized_percentile":{"value":0.93000621,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":97,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"288","last_page":"298"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.78346848487854},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.6504154205322266},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.6142075657844543},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5747348666191101},{"id":"https://openalex.org/keywords/data-flow-analysis","display_name":"Data-flow analysis","score":0.5333103537559509},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5326269268989563},{"id":"https://openalex.org/keywords/solver","display_name":"Solver","score":0.5103049278259277},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.4700585603713989},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4689466655254364},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.46326664090156555},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3332374691963196},{"id":"https://openalex.org/keywords/data-flow-diagram","display_name":"Data flow diagram","score":0.28003668785095215},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.17556247115135193}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.78346848487854},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.6504154205322266},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.6142075657844543},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5747348666191101},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.5333103537559509},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5326269268989563},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.5103049278259277},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4700585603713989},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4689466655254364},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.46326664090156555},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3332374691963196},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.28003668785095215},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.17556247115135193},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2568225.2568243","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2568225.2568243","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 36th International Conference on Software Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.434.7483","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.434.7483","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.bodden.de/pubs/ab14reviser.pdf","raw_type":"text"},{"id":"pmh:oai:publica.fraunhofer.de:publica/390617","is_oa":false,"landing_page_url":"https://publica.fraunhofer.de/handle/publica/390617","pdf_url":null,"source":{"id":"https://openalex.org/S4306400318","display_name":"Fraunhofer-Publica (Fraunhofer-Gesellschaft)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4923324","host_organization_name":"Fraunhofer-Gesellschaft","host_organization_lineage":["https://openalex.org/I4923324"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"conference paper"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320321114","display_name":"Bundesministerium f\u00fcr Bildung und Forschung","ror":"https://ror.org/04pz7b180"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W13647742","https://openalex.org/W1508482211","https://openalex.org/W1551608458","https://openalex.org/W1552065586","https://openalex.org/W1614825945","https://openalex.org/W1630356589","https://openalex.org/W1915915253","https://openalex.org/W2012148899","https://openalex.org/W2019386850","https://openalex.org/W2022043656","https://openalex.org/W2036157748","https://openalex.org/W2077617866","https://openalex.org/W2080573945","https://openalex.org/W2105285801","https://openalex.org/W2120339017","https://openalex.org/W2134311998","https://openalex.org/W2136033258","https://openalex.org/W2153058579","https://openalex.org/W2153269672","https://openalex.org/W2155735696","https://openalex.org/W2156881251","https://openalex.org/W2350778671","https://openalex.org/W2495534006","https://openalex.org/W4285719527","https://openalex.org/W6999986095"],"related_works":["https://openalex.org/W2047588290","https://openalex.org/W2080076943","https://openalex.org/W2156783651","https://openalex.org/W1711517904","https://openalex.org/W152231772","https://openalex.org/W2389279987","https://openalex.org/W172867910","https://openalex.org/W2159712408","https://openalex.org/W128957383","https://openalex.org/W4310506268"],"abstract_inverted_index":{"Most":[0],"application":[1],"code":[2,40],"evolves":[3],"incrementally,":[4],"and":[5,72,93,125,144,157],"especially":[6,46],"so":[7],"when":[8,51],"being":[9],"maintained":[10],"after":[11],"the":[12,34,103,116,140,145,180],"applications":[13],"have":[14,132],"been":[15],"deployed.":[16],"Yet,":[17],"most":[18],"data-flow":[19],"analyses":[20,54,156],"do":[21],"not":[22],"take":[23],"advantage":[24],"of":[25,151,163],"this":[26,62],"fact.":[27],"Instead":[28],"they":[29],"require":[30],"clients":[31],"to":[32,81,115,139,165,169,178],"recompute":[33],"entire":[35],"analysis":[36,77,95],"even":[37],"if":[38],"little":[39],"has":[41],"changed\u2014a":[42],"time":[43],"consuming":[44],"undertaking,":[45],"with":[47],"large":[48],"libraries":[49],"or":[50],"running":[52],"static":[53],"often,":[55],"e.g.,":[56],"on":[57,153,187],"a":[58,67,87,170,184],"continuous-integration":[59],"server.":[60],"In":[61],"work,":[63],"we":[64],"present":[65],"Reviser,":[66],"novel":[68],"approach":[69],"for":[70,119],"automatically":[71,126],"efficiently":[73],"updating":[74],"inter-procedural":[75],"dataflow":[76],"results":[78,182],"in":[79,167],"response":[80],"incremental":[82],"program":[83],"changes.":[84],"Reviser":[85,108,134,152,177],"follows":[86],"clear-and-propagate":[88],"philosophy,":[89],"aiming":[90],"at":[91],"clearing":[92],"recomputing":[94],"information":[96],"only":[97],"where":[98],"required,":[99],"thereby":[100],"greatly":[101],"reducing":[102],"required":[104],"computational":[105],"effort.":[106],"The":[107,173],"algorithm":[109],"is":[110],"formulated":[111],"as":[112,135,183],"an":[113,136],"extension":[114,138],"IDE":[117],"framework":[118],"Inter-procedural":[120],"Finite":[121],"Distributed":[122],"Environment":[123],"problems":[124],"updates":[127],"arbitrary":[128],"IDE-based":[129],"analyses.":[130],"We":[131],"implemented":[133],"open-source":[137],"Heros":[141],"IFDS/IDE":[142],"solver":[143],"Soot":[146],"program-analysis":[147],"framework.":[148],"An":[149],"evaluation":[150],"various":[154],"client":[155],"target":[158],"programs":[159],"shows":[160],"performance":[161],"gains":[162],"up":[164],"80%":[166],"comparison":[168],"full":[171,185],"recomputation.":[172],"experiments":[174],"also":[175],"show":[176],"compute":[179],"same":[181],"recomputation":[186],"all":[188],"instances":[189],"tested.":[190]},"counts_by_year":[{"year":2025,"cited_by_count":10},{"year":2024,"cited_by_count":13},{"year":2023,"cited_by_count":11},{"year":2022,"cited_by_count":10},{"year":2021,"cited_by_count":9},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":6},{"year":2018,"cited_by_count":7},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":4}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
