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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- Edd Barrett and Andy King. 2010. Range and set abstraction using SAT. Electron. Notes Theor. Comput. Sci. 267, 1 (Oct. 2010), 17--27. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- R. Claris and J. Cortadella. 2004. The octahedron abstract domain. In Static Analysis Symposium. Springer-Verlag, 312--327.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- K. Fischer. 2005. Smallest Enclosing Balls of Balls: Combinatorial Structure 8 Algorithms. Ph.D. Dissertation. Swiss Federal Institute of Technology, ETH Zurich.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- M. Karr. 1976. Affine relationships among variables of a program. Acta Inform. 6, 2 (1976), 133--151. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- A. Krause. 2010. SFO: A toolbox for submodular function optimization. J. Mach. Learn. Res. 11 (2010), 1141--1144. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Flemming Nielson, Hanne R. Nielson, and Chris Hankin. 1999. Principles of Program Analysis. Springer-Verlag, New York, NY. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- N. Saraf and K. Bazargan. 2015. Improving linear feedback shift registers using similarity transformations. In Circuits and Systems Conference (DCAS’15). 1--4.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- P. Sotin. 2010. Quantifying the Precision of Numerical Abstract Domains. Research Report Inria-00457324. Inria.Google Scholar
- 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 Scholar
- 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 Scholar
- E. W. Weisstein. 2002. CRC Concise Encyclopedia of Mathematics. Chapman 8 Hall/CRC.Google Scholar
- L. Zhao, H. Nagamochi, and T. Ibaraki. 2005. Greedy splitting algorithms for approximating multiway partition problems. Math. Program. 102, 1 (2005), 167--183. Google Scholar
Digital Library
Index Terms
Verifying Reliability Properties Using the Hyperball Abstract Domain
Recommendations
Abstract interpretation of resolution-based semantics
We extend the abstract interpretation point of view on context-free grammars by Cousot and Cousot to resolution-based logic programs and proof systems. Starting from a transition-based small-step operational semantics of Prolog programs (akin to the ...
Making abstract domains condensing
In this article, we show that reversible analyses of logic languages by abstract interpretation can be performed without loss of precision by systematically refining abstract domains. This is obtained by adding to the abstract domain the minimal amount ...
Domain Compression for Complete Abstractions
VMCAI 2003: Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract InterpretationWe introduce the operation of domain compression for complete refinements of finite abstract domains. This provides a systematic method for simplifying abstract domains in order to isolate the most abstract domain, when it exists, whose refinement ...






Comments