AbsInt explained

AbsInt Angewandte Informatik GmbH
Type:Gesellschaft mit beschränkter Haftung
Industry:Software Verification Tools
Hq Location City:Saarbrücken
Hq Location Country:Germany
Key People:Founders: Christian Ferdinand, Daniel Kästner, Marc Langenbach, Florian Martin, Stephan Thesing, and Reinhard Wilhelm
Products:aiT, StackAnalyzer, Astrée, RuleChecker, CompCert, TimingProfiler, TimeWeaver

AbsInt is a software-development tools vendor based in Saarbrücken, Germany. The company was founded in 1998 as a technology spin-off from the Department of Programming Languages and Compiler Construction of Prof. Reinhard Wilhelm at Saarland University. AbsInt specializes in software-verification tools based on abstract interpretation.[1] Its tools are used worldwide by Fortune 500 companies, educational institutions, government agencies and startups.

Products

aiT WCET Analyzer statically computes safe upper bounds for the worst-case execution time[2] of tasks in real-time systems. It directly analyzes binary executables and takes the intrinsic cache and pipeline behavior of the microprocessor into account.[3] The U.S. National Highway Traffic Safety Administration (NHTSA) and NASA used it in its Study on Sudden Unintended Acceleration in the electronic throttle control systems of Toyota vehicles.[4]

StackAnalyzer determines the maximum stack usage of the tasks in embedded applications and can prove the absence of stack overflow. The analysis results are valid for all inputs and each task execution.[5] StackAnalyzer is used in the Aerospace, Medical, Telecom and Transportation industries.

Astrée is a static program analyzer that proves the absence of run-time errors in safety-critical embedded applications written or automatically generated in C.[6] It is used in the Defense/Aerospace, Medical, Industrial Control, Electronic, Telecom/Datacom and Transportation industries. Astrée originates from the group of Patrick Cousot at CNRS/ENS and is developed and distributed by AbsInt under license from the CNRS/ENS. In the 6th Static Analysis Tool Exposition (SATE VI) [7] of NIST (2020), Astrée was confirmed to satisfy the SATE VI Ockham Sound Analysis Criteria.[8]

RuleChecker is a static program analyzer that automatically checks C/C++ code for compliance with coding guidelines including MISRA C/C++, SEI CERT C, CWE, ISO/IEC TS 17961:2013, and Adaptive Autosar C++ Coding Guidelines.

TimeWeaver is a hybrid WCET analysis tool that combines static path analysis and static value analysis with non-intrusive real-time instruction-level tracing to bound the worst-case execution time (WCET). This approach works for a wide range of modern high-performance (multi-core) processors.

CompCert is a formally verified optimizing C compiler. Its intended use is the compilation of safety-critical and mission-critical software written in C and meeting high levels of assurance. It produces machine code for the PowerPC, ARM and AArch64, IA32 (x86 32-bit), AMD64, and RISC-V (32- and 64-bit) architectures. Since 2015 AbsInt offers commercial licenses, provides industrial-strength support and maintenance, and contributes to the advancement of the tool. For the development of CompCert, Xavier Leroy and the development team of CompCert received the 2021 ACM Software System Award.

History

AbsInt is a 1998 spin-off from the Department for Programming Languages and Compilers at the Saarland University, where its founders had developed a generic and generative framework for binary-level static program analyzers and optimizers. An important component of this framework is the Program Analyzer Generator PAG, which allows to automatically generate static analyzers from a mathematical specification of the abstract domains and transfer functions.[9] The first version of PAG was released in 1995. With PAG/WWW, a free academic version of PAG is available which has been used worldwide in numerous teaching courses.

In 2001, the StackAnalyzer product line for static stack usage analysis was launched, followed by the aiT WCET Analyzer product line in 2002. In 2004, only half a year after its launch, aiT was awarded a European Information Society Technology Prize [10] for "groundbreaking products that represent the best of European innovation in information society technologies". In 2004, aiT was used to analyze the flight-control software of the Airbus A380, the world's largest passenger aircraft.[11] In 2006, the Analyzers successfully passed the first WCET Tool Challenge carried out by the University of Mälardalen (citation). In 2010, aiT and StackAnalyzer were integrated into SCADE Suite from Esterel Technologies, making it the first embedded-software development environment worldwide to feature WCET and stack analysis at the model level.[12]

The development of Astrée started from scratch in November 2001 by Prof. Patrick Cousot at the Laboratoire d'Informatique of the École Normale Supérieure (LIENS), initially supported by the ASTRÉE project, the Centre National de la Recherche Scientifique, the École Normale Supérieure and, since September 2007, by INRIA (Paris-Rocquencourt). Astrée stands for Analyseur statique de logiciels temps-réel embarqués ("real-time embedded software static analyzer"). It has been used successfully on the flight control software of the AIRBUS A340 and A380,[13] where it raised no false alarms, even for complex computations involving floating-point numbers. In April 2008, Astrée was able to prove the absence of any runtime error in a C version of the automatic docking software of the Jules Verne Automated Transfer Vehicle (ATV) used for transporting payloads to the International Space Station.[14] Since 2009 Astrée is commercially available from AbsInt under license from ENS/CNRS.

AbsInt has participated in many research projects funded by the European Commission and the German Ministry of Education and Research, such as DAEDALUS, ARTIST, SuReal, ASTEC, ALL-TIMES, Interested, Verisoft, PREDATOR, TIMMO2USE, MBAT, and others.

The name AbsInt is derived from abstract interpretation, a semantics-based methodology for static program analysis.[15]

Notes and References

  1. D. . Kästner . C. . Ferdinand . Efficient Verification of Non-Functional Safety Properties by Abstract Interpretation: Timing, Stack Consumption, and Absence of Runtime Errors . Proceedings of the 29th International System Safety Conference ISSC2011 Las Vegas . 2011 .
  2. Reinhard . Wilhelm . Jakob . Engblom . Andreas . Ermedahl . Niklas . Holsti . Stephan . Thesing . David . Whalley . Guillem . Bernat . Christian . Ferdinand . Reinhold . Heckmann . Tulika . Mitra . Frank . Mueller . Isabelle . Puaut . Peter . Puschner . Jan . Staschulat . Per . Stenström . The Worst-Case Execution-Time Problem — Overview of Methods and Survey of Tools . ACM Transactions on Embedded Computing Systems . 7 . 3 . 2008 . 1–53 . 10.1145/1347375.1347389. 10.1.1.458.3540 . 2139310 .
  3. Christian . Ferdinand . Reinhard . Wilhelm . Fast and Efficient Cache Behavior Prediction for Real-Time Systems . Real-Time Systems . 17 . 2–3 . 1999 . 131–181 . 10.1023/a:1008186323068. 28282721 .
  4. NASA . Technical Support to the National Highway Traffic Safety Administration (NHTSA) on the Reported Toyota Motor Corporation (TMC) Unintended Acceleration (UA) Investigation . January 18, 2011 . 151 .
  5. Christian . Ferdinand . Reinhold . Heckmann . Static Memory and Execution Time Analysis of Embedded Code . SAE 2006 Transactions Journal of Passenger Cars — Electronic and Electrical Systems . 9 . 2007 . 10.4271/2006-01-1499. SAE Technical Paper Series .
  6. D. . Kästner . S. . Wilhelm . S. . Nenova . P. . Cousot . R. . Cousot . J. . Feret . L. . Mauborgne . A. . Miné . X. . Rival . 2 . Astrée: Proving the Absence of Runtime Errors . Embedded Real Time Software and Systems Congress ERTS², Toulouse . 2010 .
  7. https://samate.nist.gov/SATE6OckhamCriteria.html SATE VI Ockham Sound Analysis Criteria
  8. Paul. Black. Kanwardeep. Walia. NISTIR8304 -- SATE VI Ockham Sound Analysis Criteria. US National Institute of Standards and Technology (NIST). 2020. 10.6028/NIST.IR.8304. free.
  9. Martin . Alt . Florian . Martin . Generation of Efficient Interprocedural Analyzers with PAG . Proceedings of the 2nd International Symposium on Static Analysis (SAS '95) . Lecture Notes in Computer Science . 983 . 1995 . 33–50 . 10.1007/3-540-60360-3_31. 10.1.1.37.9598 .
  10. https://web.archive.org/web/20071116120620/http://www.ict-prize.org/winners/list.html?year=2004 ict-prize.org in web.archive.org
  11. Jean . Souyris . Ervan . Le Pavec . Guillaume . Himbert . Victor . Jégu . Guillaume . Borios . Reinhold . Heckmann . Computing the Worst Case Execution Time of an Avionics Program by Abstract Interpretation . Proceedings of the 5th International Workshop on Worst-case Execution Time (WCET '05), Mallorca, Spain . 2005 . 21–24 .
  12. C. . Ferdinand . R. . Heckmann . T. . Le Sergent . D. . Lopes . B. . Martin . X. . Fornari . F. . Martin . Combining a High-Level Design Tool for Safety-Critical Systems with a Tool for WCET Analysis on Executables . 4th European Congress ERTS — Embedded Real Time Software, Toulouse . 2008 .
  13. D. . Delmas . J. . Souyris . ASTRÉE: from research to industry . Proceedings of the 14th Intl. Static Analysis Symposium (SAS'07), Kongens Lyngby, Denmark . Lecture Notes for Computer Science 4634, Springer . 2007 . 437–451 .
  14. O. . Bouissou . E. . Conquet . P. . Cousot . R. . Cousot . J. . Feret . K. . Ghorbal . E. . Goubault . D. . Lesens . L. . Mauborgne . A. . Miné . S. . Putot . X. . Rival . M. . Turin . 2 . Space software validation using Abstract Interpretation . Proceedings of 13th Data Systems in Aerospace, DASIA 2009, Istanbul, Turkey . 2009 .
  15. Patrick . Cousot . Radhia . Cousot . Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. . Fourth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages . 1977 . 238–252 .