Bridging Static and Dynamic Program Analysis using Fuzzy Logic
Jacob Lidman (Chalmers University of Technology), Josef Svenningsson, (Chalmers University of Technology)

TL;DR
This paper introduces fuzzy logic-based data-flow analysis to better represent and utilize the bias and plausibility of static analysis information, enhancing compiler optimization decisions dynamically.
Contribution
It generalizes previous 3-valued logic analysis to fuzzy logic, enabling more nuanced reasoning and adaptive improvements during program execution.
Findings
Fuzzy data-flow analysis captures bias towards true or false more accurately.
Unveils new opportunities in optimization detection not possible with 3-valued logic.
Supports adaptive classifiers that improve analysis quality during runtime.
Abstract
Static program analysis is used to summarize properties over all dynamic executions. In a unifying approach based on 3-valued logic properties are either assigned a definite value or unknown. But in summarizing a set of executions, a property is more accurately represented as being biased towards true, or towards false. Compilers use program analysis to determine benefit of an optimization. Since benefit (e.g., performance) is justified based on the common case understanding bias is essential in guiding the compiler. Furthermore, successful optimization also relies on understanding the quality of the information, i.e. the plausibility of the bias. If the quality of the static information is too low to form a decision we would like a mechanism that improves dynamically. We consider the problem of building such a reasoning framework and present the fuzzy data-flow analysis. Our approach…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
