skip to main content
research-article
Free Access

Continuity and robustness of programs

Published:01 August 2012Publication History
Skip Abstract Section

Abstract

Computer scientists have long believed that software is different from physical systems in one fundamental way: while the latter have continuous dynamics, the former do not. In this paper, we argue that notions of continuity from mathematical analysis are relevant and interesting even for software. First, we demonstrate that many everyday programs are continuous (i.e., arbitrarily small changes to their inputs only cause arbitrarily small changes to their outputs) or Lipschitz continuous (i.e., when their inputs change, their outputs change at most proportionally). Second, we give an mostly-automatic framework for verifying that a program is continuous or Lipschitz, showing that traditional, discrete approaches to proving programs correct can be extended to reason about these properties. An immediate application of our analysis is in reasoning about the robustness of programs that execute on uncertain inputs. In the longer run, it raises hopes for a toolkit for reasoning about programs that freely combines logical and analytical mathematics.

References

  1. Bucker, M., Corliss, G., Hovland, P., Naumann, U., Norris, B. Automatic Differentiation: Applications, Theory and Implementations, Birkhauser, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Chaudhuri, S., Gulwani, S., Lublinerman, R. Continuity analysis of programs. In POPL (2010), 57--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Chaudhuri, S., Gulwani, S., Lublinerman, R., Navidpour, S. Proving programs robust. In FSE (2011), 102--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Chaudhuri, S., Solar-Lezama, A. Smooth interpretation. In PLDI (2010), 279--291. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chaudhuri, S., Solar-Lezama, A. Smoothing a program soundly and robustly. In CAV (2011), 277--292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chen, L., Miné, A., Wang, J., Cousot, P. Interval polyhedra: An abstract domain to infer interval linear relationships. In SAS (2009), 309--325. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X. The ASTREÉ analyzer. In ESOP (2005), 21--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. de Moura, L. M. Bjørner, N. Z3: An effcient smt solver. In TACAS (2008), 337--340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Girard, A., Pappas, G. Approximate bisimulation: A bridge between computer science and control theory. Eur. J. Contr. 17, 5 (2011), 568.Google ScholarGoogle ScholarCross RefCross Ref
  10. Goubault, E. Static analyses of the precision of floating-point operations. In SAS (2001). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gulwani, S., Zuleger, F. The reachability-bound problem. In PLDI (2010), 292--304. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Hamlet, D. Continuity in software systems. In ISSTA (2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jha, M., Raskhodnikova, S. Testing and reconstruction of lipschitz functions with applications to data privacy. In FOCS (2011), 433--442. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Majumdar, R., Saha, I. Symbolic robustness analysis. In RTSS (2009), 355--363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Parnas, D. Software aspects of strategic defense systems. Commun. ACM 28, 12 (1985), 1326--1335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Pettersson, S., Lennartson, B. Stability and robustness for hybrid systems. In Decision and Control (Dec 1996), 1202--1207.Google ScholarGoogle Scholar
  17. Podelski, A., Wagner, S. Model checking of hybrid systems: From reachability towards stability. In HSCC (2006), 507--521. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Reed, J., Pierce, B. Distance makes the types grow stronger: A calculus for differential privacy. In ICFP (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Strichman, O. Regression verification: Proving the equivalence of similar programs. In CAV (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Zhu, Z., Misailovic, S., Kelner, J., Rinard, M. Randomized accuracy-aware program transformations for efficient approximate computations. In POPL (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Continuity and robustness of programs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Communications of the ACM
          Communications of the ACM  Volume 55, Issue 8
          August 2012
          105 pages
          ISSN:0001-0782
          EISSN:1557-7317
          DOI:10.1145/2240236
          Issue’s Table of Contents

          Copyright © 2012 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 August 2012

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Popular
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format