skip to main content
research-article
Free Access

Verifying Reliability Properties Using the Hyperball Abstract Domain

Published:19 December 2017Publication History
Skip Abstract Section

Abstract

Modern systems are increasingly susceptible to soft errors that manifest themselves as bit flips and possibly alter the semantics of an application. We would like to measure the quality degradation on semantics due to such bit flips, and thus we introduce a Hyperball abstract domain that allows us to determine the worst-case distance between expected and actual results. Similar to intervals, hyperballs describe a connected and dense space. The semantics of low-level code in the presence of bit flips is hard to accurately describe in such a space. We therefore combine the Hyperball domain with an existing affine system abstract domain that we extend to handle bit flips, which are introduce as disjunctions. Bit-flips can reduce the precision of our analysis, and we therefor introduce the Scale domain as a disjunctive refinement to minimize precision loss. This domain bounds the number of disjunctive elements by quantifying the over-approximation of different partitions and uses submodular optimization to find a good partitioning (within a bound of optimal). We evaluate these domains to show benefits and potential problems. For the application we examine here, adding the Scale domain to the Hyperball abstraction improves accuracy by up to two orders of magnitude. Our initial results demonstrate the feasibility of this approach, although we would like to further improve execution efficiency.

References

  1. Gianluca Amato, Maurizio Parton, and Francesca Scozzari. 2010. Deriving numerical abstract domains via principal component analysis. In Proceedings of the 17th International Conference on Static Analysis (SAS’10). 134--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Bagnara. 1998. A hierarchy of constraint systems for data-flow analysis of constraint logic-based languages. Sci. Comput. Program. 30, 1--2 (1998), 119--155. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. H. Bar-El, H. Choukri, D. Naccache, M. Tunstall, and C. Whelan. 2006. The sorcerer’s apprentice guide to fault attacks. Proc. IEEE 94, 2 (Feb. 2006), 370--382.Google ScholarGoogle ScholarCross RefCross Ref
  4. Edd Barrett and Andy King. 2010. Range and set abstraction using SAT. Electron. Notes Theor. Comput. Sci. 267, 1 (Oct. 2010), 17--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Dan Boneh, Richard A. Demillo, and Richard J. Lipton. 2001. On the importance of eliminating errors in cryptographic computations. J. Cryptol. 14 (2001), 101--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Claris and J. Cortadella. 2004. The octahedron abstract domain. In Static Analysis Symposium. Springer-Verlag, 312--327.Google ScholarGoogle Scholar
  7. G. Costantini, P. Ferrara, G. Maggiore, and A. Cortesi. 2013. The domain of parametric hypercubes for static analysis of computer games software. In Formal Methods and Software Engineering. Lecture Notes in Computer Science, Vol. 8144. Springer, Berlin, 447--463.Google ScholarGoogle Scholar
  8. P. Cousot and R. Cousot. 1977. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the Conference Record of the 4th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 238--252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Cousot, R. Cousot, and L. Mauborgne. 2010. A scalable segmented decision tree abstract domain. In Time for Verification. Lecture Notes in Computer Science, Vol. 6200. Springer, Berlin, 72--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Cousot and N. Halbwachs. 1978. Automatic discovery of linear restraints among variables of a program. In Proceedings of the Conference Record of the 5th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, 84--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Elder, J. Lim, T. Sharma, T. Andersen, and T. Reps. 2014. Abstract domains of affine relations. ACM Trans. Program. Lang. Syst. 36, 4, Article 11 (Oct. 2014), 73 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Fischer. 2005. Smallest Enclosing Balls of Balls: Combinatorial Structure 8 Algorithms. Ph.D. Dissertation. Swiss Federal Institute of Technology, ETH Zurich.Google ScholarGoogle Scholar
  13. Michel X. Goemans, Nicholas J. A. Harvey, Satoru Iwata, and Vahab Mirrokni. 2009. Approximating submodular functions everywhere. In Proceedings of the 20th Annual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics, 535--544. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Qiang Guan, Nathan DeBardeleben, Sean Blanchard, and Song Fu. 2015. Empirical studies of the soft error susceptibility ofsorting algorithms to statistical fault injection. In Proceedings of the 5th Workshop on Fault Tolerance for HPC at Extreme Scale (FTXS’15). 35--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Sylvain Guilley, Houssem Maghrebi, Youssef Souissi, Laurent Sauvage, and J. Danger. 2011. Quantifying the quality of side-channel acquisition. COSADE (Feb. 2011), 16--28.Google ScholarGoogle Scholar
  16. A. Gurfinkel and S. Chaki. 2010. Boxes: A symbolic abstract domain of boxes. In Static Analysis. Lecture Notes in Computer Science, Vol. 6337. Springer, Berlin, 287--303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Karr. 1976. Affine relationships among variables of a program. Acta Inform. 6, 2 (1976), 133--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. King and H. Søndergaard. 2008. Inferring congruence equations using SAT. In Computer Aided Verification. Lecture Notes in Computer Science, Vol. 5123. Springer, Berlin, 281--293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Paul C. Kocher, Joshua Jaffe, and Benjamin Jun. 1999. Differential power analysis. In Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology (CRYPTO’99). Springer-Verlag, London, 388--397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Krause. 2010. SFO: A toolbox for submodular function optimization. J. Mach. Learn. Res. 11 (2010), 1141--1144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Krishnaswamy, G. F. Viamontes, I. L. Markov, and J. P. Hayes. 2005. Accurate reliability evaluation and enhancement via probabilistic transfer matrices. In Design, Automation and Test in Europe, Vol. 1. 282--287. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Lidman, S. A. McKee, D. J. Quinlan, and C. Liao. 2014. An automated performance-aware approach to reliability transformations. In Proceedings of the Parallel Processing Workshops (Euro-Par’14). Lecture Notes in Computer Science, Vol. 8805. Springer International Publishing, 523--534. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. L. Mauborgne and X. Rival. 2005. Trace partitioning in abstract interpretation based static analyzers. In Proceedings of the European Symposium on Programming (ESOP’05). Lecture Notes in Computer Science, Vol. 3444. Springer-Verlag, 5--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. L. Meola and D. Walker. 2010. Faulty logic: Reasoning about fault tolerant programs. In Programming Languages and Systems. Lecture Notes in Computer Science, Vol. 6012. Springer, Berlin, 468--487. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. E. Michalak, K. W. Harris, N. W. Hengartner, B. E. Takala, and S. A. Wender. 2005. Predicting the number of fatal soft errors in Los alamos national laboratory’s ASC Q supercomputer. IEEE Trans. Device Mater. Reliabil. 5, 3 (Sept 2005), 329--335.Google ScholarGoogle ScholarCross RefCross Ref
  26. S. Misailovic, M. Carbin, S. Achour, Z. Qi, and M. C. Rinard. 2014. Chisel: Reliability- and accuracy-aware optimization of approximate computational kernels. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages and Applications. ACM, 309--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Flemming Nielson, Hanne R. Nielson, and Chris Hankin. 1999. Principles of Program Analysis. Springer-Verlag, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Pierre Roux, Romain Jobredeaux, Pierre-Loïc Garoche, and Éric Féron. 2012. A generic ellipsoid abstract domain for linear time invariant systems. In Proceedings of the 15th ACM International Conference on Hybrid Systems: Computation and Control (HSCC’12). 105--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. Sankaranarayanan, H. B. Sipma, and Z. Manna. 2005. Scalable analysis of linear systems using mathematical programming. In Verification, Model Checking, and Abstract Interpretation. Lecture Notes in Computer Science, Vol. 3385. Springer, Berlin, 25--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. N. Saraf and K. Bazargan. 2015. Improving linear feedback shift registers using similarity transformations. In Circuits and Systems Conference (DCAS’15). 1--4.Google ScholarGoogle Scholar
  31. Rahul Sharma, Aditya V. Nori, and Alex Aiken. 2014. Bias-variance tradeoffs in program analysis. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’14). 127--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. T. Sharma, A. Thakur, and T. Reps. 2013. An Abstract Domain for Bit-vector Inequalities. Technical Report TR-1789. Computer Sciences Department, University of Wisconsin—Madison, WI.Google ScholarGoogle Scholar
  33. P. Sotin. 2010. Quantifying the Precision of Numerical Abstract Domains. Research Report Inria-00457324. Inria.Google ScholarGoogle Scholar
  34. The CGAL Project. 2015. CGAL User and Reference Manual (4.5.2 ed.). CGAL Editorial Board. Retrieved from http://doc.cgal.org/4.5.2/Manual/packages.html.Google ScholarGoogle Scholar
  35. Z. Wang, H. Xie, S. Chafekar, and A. Chattopadhyay. 2015. Architectural error prediction using probabilistic error masking matrices. In Proceedings of the 2015 6th Asia Symposium on Quality Electronic Design (ASQED’15). 31--36.Google ScholarGoogle Scholar
  36. E. W. Weisstein. 2002. CRC Concise Encyclopedia of Mathematics. Chapman 8 Hall/CRC.Google ScholarGoogle Scholar
  37. L. Zhao, H. Nagamochi, and T. Ibaraki. 2005. Greedy splitting algorithms for approximating multiway partition problems. Math. Program. 102, 1 (2005), 167--183. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Verifying Reliability Properties Using the Hyperball Abstract Domain

        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

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!