Authors
Swarat Chaudhuri, Sumit Gulwani, Roberto Lublinerman, Sara Navidpour
Publication date
2011/9/9
Book
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Pages
102-112
Description
We present a program analysis for verifying quantitative robustness properties of programs, stated generally as: "If the inputs of a program are perturbed by an arbitrary amount epsilon, then its outputs change at most by (K . epsilon), where K can depend on the size of the input but not its value." Robustness properties generalize the analytic notion of continuity---e.g., while the function ex is continuous, it is not robust. Our problem is to verify the robustness of a function P that is coded as an imperative program, and can use diverse data types and features such as branches and loops.
Our approach to the problem soundly decomposes it into two subproblems: (a) verifying that the smallest possible perturbations to the inputs of P do not change the corresponding outputs significantly, even if control now flows along a different control path; and (b) verifying the robustness of the computation along each control-flow path of …
Total citations
201120122013201420152016201720182019202020212022202320244153320171191261427125
Scholar articles
S Chaudhuri, S Gulwani, R Lublinerman, S Navidpour - Proceedings of the 19th ACM SIGSOFT symposium …, 2011