lnu.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
A Framework for Memory Efficient Context-Sensitive Program Analysis
Linnaeus University, Faculty of Technology, Department of computer science and media technology (CM).ORCID iD: 0000-0002-7555-7335
Linnaeus University, Faculty of Technology, Department of computer science and media technology (CM).ORCID iD: 0000-0001-9775-4594
Linnaeus University, Faculty of Technology, Department of computer science and media technology (CM). (DISTA;DISA)ORCID iD: 0000-0002-7565-3714
Senacor Technologies AG, Germany.
2022 (English)In: Theory of Computing Systems, ISSN 1432-4350, E-ISSN 1433-0490, Vol. 66, p. 911-956Article in journal (Refereed) Published
Abstract [en]

Static program analysis is in general more precise if it is sensitive to execution contexts (execution paths). But then it is also more expensive in terms of memory consumption. For languages with conditions and iterations, the number of contexts grows exponentially with the program size. This problem is not just a theoretical issue. Several papers evaluating inter-procedural context-sensitive data-flow analysis report severe memory problems, and the path-explosion problem is a major issue in program verification and model checking.

In this paper we propose χ-terms as a means to capture and manipulate context-sensitive program information in a data-flow analysis. χ-terms are implemented as directed acyclic graphs without any redundant subgraphs. We introduce the k-approximation and the l-loop-approximation that limit the size of the context-sensitive information at the cost of analysis precision. We prove that every context-insensitive data-flow analysis has a corresponding k, l-approximated context-sensitive analysis, and that these analyses are sound and guaranteed to reach a fixed point.

We also present detailed algorithms outlining a compact, redundancy-free, and DAG-based implementation of χ-terms.

Place, publisher, year, edition, pages
Springer, 2022. Vol. 66, p. 911-956
Keywords [en]
Static program analysis, Data-flow analysis, Context-sensitivity
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science
Identifiers
URN: urn:nbn:se:lnu:diva-115519DOI: 10.1007/s00224-022-10093-wISI: 000826845200001Scopus ID: 2-s2.0-85134543665OAI: oai:DiVA.org:lnu-115519DiVA, id: diva2:1683689
Funder
Linnaeus UniversityAvailable from: 2022-07-18 Created: 2022-07-18 Last updated: 2025-01-27Bibliographically approved

Open Access in DiVA

fulltext(2101 kB)146 downloads
File information
File name FULLTEXT01.pdfFile size 2101 kBChecksum SHA-512
7265320044f82dba161621f67d924f65ebedbca23c18a1c512b55b52bd31e18a327fa30d2cf76bfc29810e9b59693fbeccdb4771b71171ced15d19993a164a5e
Type fulltextMimetype application/pdf

Other links

Publisher's full textScopus

Authority records

Hedenborg, MathiasLundberg, JonasLöwe, Welf

Search in DiVA

By author/editor
Hedenborg, MathiasLundberg, JonasLöwe, Welf
By organisation
Department of computer science and media technology (CM)
In the same journal
Theory of Computing Systems
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 146 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 170 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf