CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Bridging Static and Dynamic Program Analysis using Fuzzy Logic

Jacob Lidman (Institutionen för data- och informationsteknik, Datorteknik (Chalmers)) ; Josef Svenningsson (Institutionen för data- och informationsteknik, Datavetenskap (Chalmers))
Electronic Proceedings in Theoretical Computer Science, EPTCS - 15th Workshop on Quantitative Aspects of Programming Languages and Systems, QAPL 2017, Uppsala, Sweden, 23 April 2017 (2075-2180). 250, p. 111-126. (2017)
[Konferensbidrag, refereegranskat]

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.

Denna post skapades 2017-08-24. Senast ändrad 2017-10-25.
CPL Pubid: 251375


Läs direkt!

Lokal fulltext (fritt tillgänglig)

Länk till annan sajt (kan kräva inloggning)