Bridging Static and Dynamic Program Analysis using Fuzzy Logic

07/13/2017
by   Jacob Lidman, et al.
0

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 generalize previous work that use 3-valued logic. We derive fuzzy extensions of data-flow analyses used by the lazy code motion optimization and unveil opportunities previous work would not detect due to limited expressiveness. Furthermore we show how the results of our analysis can be used in an adaptive classifier that improve as the application executes.

READ FULL TEXT
research
04/10/2012

Applications of fuzzy logic to Case-Based Reasoning

The article discusses some applications of fuzzy logic ideas to formaliz...
research
02/26/2015

Similarity, Cardinality and Entropy for Bipolar Fuzzy Set in the Framework of Penta-valued Representation

In this paper one presents new similarity, cardinality and entropy measu...
research
12/14/2019

Conquering the Extensional Scalability Problem for Value-Flow Analysis Frameworks

With an increasing number of value-flow properties to check, existing st...
research
03/08/2010

A multivalued knowledge-base model

The basic aim of our study is to give a possible model for handling unce...
research
10/24/2022

Static Information Flow Control Made Simpler

Static information flow control (IFC) systems provide the ability to res...
research
10/21/2019

Representing and Reasoning about Dynamic Code

Dynamic code, i.e., code that is created or modified at runtime, is ubiq...
research
09/03/2023

A dynamic state-based model of crowds

We consider the problem of categorizing and describing the dynamic prope...

Please sign up or login with your details

Forgot password? Click here to reset