Differential Cost Analysis with Infer and Possible Extensions for Concrete Cost Analysis
In this talk we will describe our project on differential cost analysis, where we employed Infer to detect regressions in the allocation cost between two project versions. We observed that Infer computes very precise cost bounds when it comes to estimating the polynomial degree of cost usage. However, in discussions with our customers we learned that they would be more interested in detecting regressions in concrete costs and for a variety of specialized costs beyond time, such as allocations and thread usage. As a lightweight experiment, we implemented a basic concrete allocation cost analysis on top of Infer. While it performs well on many examples, we observed imprecision in computed costs for programs with more complex control-flow and in which a path sensitive cost analysis is needed. In the talk, we will first discuss reasons for which our customers are interested in concrete allocation cost analysis. We will then present our new algorithm for differential cost analysis, which is less scalable, but computes more precise cost bounds and which we believe could be combined with Infer in order to obtain better precision for performance critical methods. We note that our new algorithm for differential cost analysis is a work in progress.
Mon 21 JunDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 16:15
|Differential Cost Analysis with Infer and Possible Extensions for Concrete Cost Analysis|
|Interactive Static Performance Analysis with Infer in the IDE|
Jürgen Cito TU Wien and Facebook