Jump to content

AbsInt: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Schwallex (talk | contribs)
mNo edit summary
fix ref
Line 11: Line 11:


'''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 [[Reinhard Wilhelm|Prof. Reinhard Wilhelm]] at [[Saarland University]]. AbsInt specializes in software-verification tools based on [[abstract interpretation]].<ref name=LasVegas>{{cite journal
'''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 [[Reinhard Wilhelm|Prof. Reinhard Wilhelm]] at [[Saarland University]]. AbsInt specializes in software-verification tools based on [[abstract interpretation]].<ref name=LasVegas>{{cite journal
| last =
| first1 = D.
| first =
| last1 = Kästner
| first2 = C.
| coauthors = D. Kästner, C. Ferdinand
| last2 = Ferdinand
| title = Efficient Verification of Non-Functional Safety Properties by Abstract Interpretation: Timing, Stack Consumption, and Absence of Runtime Errors
| title = Efficient Verification of Non-Functional Safety Properties by Abstract Interpretation: Timing, Stack Consumption, and Absence of Runtime Errors
| journal = Proceedings of the 29th International System Safety Conference ISSC2011 Las Vegas
| journal = Proceedings of the 29th International System Safety Conference ISSC2011 Las Vegas
Line 25: Line 26:


aiT WCET Analyzer statically computes safe upper bounds for the [[worst-case execution time]]<ref name=ACM>{{cite journal
aiT WCET Analyzer statically computes safe upper bounds for the [[worst-case execution time]]<ref name=ACM>{{cite journal
| last =
| first1 = Reinhard
| first =
| last1 = Wilhelm
| first2 = Jakob
| coauthors = 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
| last2 = Engblom
| first3 = Andreas
| last3 = Ermedahl
| first4 = Niklas
| last4 = Holsti
| first5 = Stephan
| last5 = Thesing
| first6 = David
| last6 = Whalley
| first7 = Guillem
| last7 = Bernat
| first8 = Christian
| last8 = Ferdinand
| first9 = Reinhold
| last9 = Heckmann
| first10 = Tulika
| last10 = Mitra
| first11 = Frank
| last11 = Mueller
| first12 = Isabelle
| last12 = Puaut
| first13 = Peter
| last13 = Puschner
| first14 = Jan
| last14 = Staschulat
| first15 = Per
| last15 = Stenström
| title = The Worst-Case Execution-Time Problem — Overview of Methods and Survey of Tools
| title = The Worst-Case Execution-Time Problem — Overview of Methods and Survey of Tools
| journal = ACM Transactions on Embedded Computing Systems
| journal = ACM Transactions on Embedded Computing Systems
Line 35: Line 63:
| pages= 1–53
| pages= 1–53
| doi = }}</ref> of tasks in [[real-time systems]]. It directly analyzes binary executables and takes the intrinsic cache and pipeline behavior of the microprocessor into account.<ref name=RTS>{{cite journal
| doi = }}</ref> of tasks in [[real-time systems]]. It directly analyzes binary executables and takes the intrinsic cache and pipeline behavior of the microprocessor into account.<ref name=RTS>{{cite journal
| last =
| first1 = Christian
| first =
| last1 = Ferdinand
| coauthors = Christian Ferdinand and Reinhard Wilhelm
| first2 = Reinhard
| last2 = Wilhelm
| title = Fast and Efficient Cache Behavior Prediction for Real-Time Systems
| title = Fast and Efficient Cache Behavior Prediction for Real-Time Systems
| journal = Real-Time Systems
| journal = Real-Time Systems
Line 57: Line 86:


StackAnalyzer determines the maximum stack usage of the tasks in embedded ap­pli­ca­tions and can prove the absence of [[stack overflow]]. The analysis re­sults are valid for all inputs and each task ex­e­cution.<ref name=SAE>{{cite journal
StackAnalyzer determines the maximum stack usage of the tasks in embedded ap­pli­ca­tions and can prove the absence of [[stack overflow]]. The analysis re­sults are valid for all inputs and each task ex­e­cution.<ref name=SAE>{{cite journal
| last =
| first1 = Christian
| first =
| last1 = Ferdinand
| coauthors = Christian Ferdinand and Reinhold Heckmann
| first2 = Reinhold
| last2 = Heckmann
| title = Static Memory and Execution Time Analysis of Embedded Code
| title = Static Memory and Execution Time Analysis of Embedded Code
| journal = SAE 2006 Transactions Journal of Passenger Cars — Electronic and Electrical Systems
| journal = SAE 2006 Transactions Journal of Passenger Cars — Electronic and Electrical Systems
Line 69: Line 99:


[[Astrée (static analysis)|Astrée]] is a static pro­gram analyzer that proves the absence of run-time errors in safety-critical embedded ap­pli­cations written or automatically generated in [[C programming language|C]].<ref name=ERTS>{{cite journal
[[Astrée (static analysis)|Astrée]] is a static pro­gram analyzer that proves the absence of run-time errors in safety-critical embedded ap­pli­cations written or automatically generated in [[C programming language|C]].<ref name=ERTS>{{cite journal
| last =
| first1 = D.
| first =
| last1 = Kästner
| first2 = S.
| coauthors = D. Kästner, S. Wilhelm, S. Nenova, P. Cousot, R. Cousot, J. Feret, L. Mauborgne, A. Miné, X. Rival
| last2 = Wilhelm
| first3 = S.
| last3 = Nenova
| first4 = P.
| last4 = Cousot
| first5 = R.
| last5 = Cousot
| first6 = J.
| last6 = Feret
| first7 = L.
| last7 = Mauborgne
| first8 = A.
| last8 = Miné
| first9 = X.
| last9 = Rival
| displayauthors = 2
| title = Astrée: Proving the Absence of Runtime Errors
| title = Astrée: Proving the Absence of Runtime Errors
| journal = Embedded Real Time Software and Systems Congress ERTS², Toulouse
| journal = Embedded Real Time Software and Systems Congress ERTS², Toulouse
Line 83: Line 129:


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.<ref name=PAG>{{cite journal
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.<ref name=PAG>{{cite journal
| last =
| first1 = Martin
| first =
| last1 = Alt
| coauthors = Martin Alt and Florian Martin
| first2 = Florian
| last2 = Martin
| title = Generation of Efficient Interprocedural Analyzers with PAG
| title = Generation of Efficient Interprocedural Analyzers with PAG
| journal = Proceedings of the 2nd International Symposium on Static Analysis (SAS '95)
| journal = Proceedings of the 2nd International Symposium on Static Analysis (SAS '95)
Line 94: Line 141:
| doi = }}</ref> 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.
| doi = }}</ref> 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 (abstract data type)|stack usage]] analysis was launched, followed by the aiT WCET Analyzer product line in 2002. In 2003, only half a year after its launch, aiT was awarded a European Information Society Technology Prize 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.<ref name=A380>{{cite journal
In 2001 the StackAnalyzer product line for static [[Stack (abstract data type)|stack usage]] analysis was launched, followed by the aiT WCET Analyzer product line in 2002. In 2003, only half a year after its launch, aiT was awarded a European Information Society Technology Prize 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.<ref name=A380>{{cite journal
| last =
| first1 = Jean
| first =
| last1 = Souyris
| first2 = Ervan
| coauthors = Jean Souyris, Ervan Le Pavec, Guillaume Himbert, Victor Jégu, Guillaume Borios, and Reinhold Heckmann
| last2 = Le Pavec
| first3 = Guillaume
| last3 = Himbert
| first4 = Victor
| last4 = Jégu
| first5 = Guillaume
| last5 = Borios
| first6 = Reinhold
| last6 = Heckmann
| title = Computing the Worst Case Execution Time of an Avionics Program by Abstract Interpretation
| title = Computing the Worst Case Execution Time of an Avionics Program by Abstract Interpretation
| journal = Proceedings of the 5th International Workshop on Worst-case Execution Time (WCET '05), Mallorca, Spain
| journal = Proceedings of the 5th International Workshop on Worst-case Execution Time (WCET '05), Mallorca, Spain
Line 104: Line 160:
| year = 2005
| year = 2005
| pages=21–24
| pages=21–24
| doi = }}</ref> In 2006, the Analyzers successfully passed the first [[Worst-case_execution_time#WCET_Tool_Challenge|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.<ref name=ERTS>{{cite journal
| doi = }}</ref> In 2006, the Analyzers successfully passed the first [[Worst-case_execution_time#WCET_Tool_Challenge|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.<ref name=ERTS>{{cite journal
| last =
| first1 = C.
| first =
| last1 = Ferdinand
| first2 = R.
| coauthors = C. Ferdinand, R. Heckmann, T. Le Sergent, D. Lopes, B. Martin, X. Fornari, F. Martin
| last2 = Heckmann
| first3 = T.
| last3 = Le Sergent
| first4 = D.
| last4 = Lopes
| first5 = B.
| last5 = Martin
| first6 = X.
| last6 = Fornari
| first7 = F.
| last7 = Martin
| title = Combining a High-Level Design Tool for Safety-Critical Systems with a Tool for WCET Analysis on Executables
| title = Combining a High-Level Design Tool for Safety-Critical Systems with a Tool for WCET Analysis on Executables
| journal = 4th European Congress ERTS — Embedded Real Time Software, Toulouse
| journal = 4th European Congress ERTS — Embedded Real Time Software, Toulouse
Line 117: Line 184:


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,<ref name=ASTREE>{{cite journal
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,<ref name=ASTREE>{{cite journal
| last =
| first1 = D.
| first =
| last1 = Delmas
| coauthors = D. Delmas, J. Souyris
| first2 = J.
| last2 = Souyris
| title = ASTRÉE: from research to industry
| title = ASTRÉE: from research to industry
| journal = Proceedings of the 14th Intl. Static Analysis Symposium (SAS'07), Kongens Lyngby, Denmark
| journal = Proceedings of the 14th Intl. Static Analysis Symposium (SAS'07), Kongens Lyngby, Denmark
Line 126: Line 194:
| year = 2007
| year = 2007
| pages=437–451
| pages=437–451
| doi = }}</ref> 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]].<ref name=SPACESOFT>{{cite journal
| doi = }}</ref> 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]].<ref name=SPACESOFT>{{cite journal
| last =
| first1 = O.
| first =
| last1 = Bouissou
| first2 = E.
| coauthors = 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
| last2 = Conquet
| first3 = P.
| last3 = Cousot
| first4 = R.
| last4 = Cousot
| first5 = J.
| last5 = Feret
| first6 = K.
| last6 = Ghorbal
| first7 = E.
| last7 = Goubault
| first8 = D.
| last8 = Lesens
| first9 = L.
| last9 = Mauborgne
| first10 = A.
| last10 = Miné
| first11 = S.
| last11 = Putot
| first12 = X.
| last12 = Rival
| first13 = M.
| last13 = Turin
| displayauthors = 2
| title = Space software validation using Abstract Interpretation
| title = Space software validation using Abstract Interpretation
| journal = Proceedings of 13th Data Systems in Aerospace, DASIA 2009, Istanbul, Turkey
| journal = Proceedings of 13th Data Systems in Aerospace, DASIA 2009, Istanbul, Turkey

Revision as of 01:14, 1 November 2013

AbsInt Angewandte Informatik GmbH
Company typePrivate
IndustrySoftware Verification Tools
HeadquartersSaarbrücken, Germany
Key people
Founders: Christian Ferdinand, Daniel Kästner, Marc Langenbach, Florian Martin, Stephan Thesing, and Reinhard Wilhelm
ProductsaiT, StackAnalyzer, Astrée
Websitehttp://www.absint.com

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 ap­pli­ca­tions and can prove the absence of stack overflow. The analysis re­sults are valid for all inputs and each task ex­e­cution.[5] StackAnalyzer is used in the Aerospace, Medical, Telecom and Transportation industries.

Astrée is a static pro­gram analyzer that proves the absence of run-time errors in safety-critical embedded ap­pli­cations 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.

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.[7] 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 2003, only half a year after its launch, aiT was awarded a European Information Society Technology Prize 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.[8] 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.[6]

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,[9] 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.[10] 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.

References

  1. ^ Kästner, D.; Ferdinand, C. (2011). "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.
  2. ^ Wilhelm, Reinhard; Engblom, Jakob; Ermedahl, Andreas; Holsti, Niklas; Thesing, Stephan; Whalley, David; Bernat, Guillem; Ferdinand, Christian; Heckmann, Reinhold; Mitra, Tulika; Mueller, Frank; Puaut, Isabelle; Puschner, Peter; Staschulat, Jan; Stenström, Per (2008). "The Worst-Case Execution-Time Problem — Overview of Methods and Survey of Tools". ACM Transactions on Embedded Computing Systems. 7 (3): 1–53.
  3. ^ Ferdinand, Christian; Wilhelm, Reinhard (1999). "Fast and Efficient Cache Behavior Prediction for Real-Time Systems". Real-Time Systems. 17 (2–3): 131–181.
  4. ^ NASA (January 18, 2011). "Technical Support to the National Highway Traffic Safety Administration (NHTSA) on the Reported Toyota Motor Corporation (TMC) Unintended Acceleration (UA) Investigation": 151. {{cite journal}}: Cite has empty unknown parameter: |coauthors= (help); Cite journal requires |journal= (help)
  5. ^ Ferdinand, Christian; Heckmann, Reinhold (2007). "Static Memory and Execution Time Analysis of Embedded Code". SAE 2006 Transactions Journal of Passenger Cars — Electronic and Electrical Systems. 9.
  6. ^ a b Kästner, D.; Wilhelm, S.; Nenova, S.; Cousot, P.; Cousot, R.; Feret, J.; Mauborgne, L.; Miné, A.; Rival, X. (2010). "Astrée: Proving the Absence of Runtime Errors". Embedded Real Time Software and Systems Congress ERTS², Toulouse. {{cite journal}}: Unknown parameter |displayauthors= ignored (|display-authors= suggested) (help) Cite error: The named reference "ERTS" was defined multiple times with different content (see the help page).
  7. ^ Alt, Martin; Martin, Florian (1995). "Generation of Efficient Interprocedural Analyzers with PAG". Proceedings of the 2nd International Symposium on Static Analysis (SAS '95). Lecture Notes in Computer Science (983): 33–50.
  8. ^ Souyris, Jean; Le Pavec, Ervan; Himbert, Guillaume; Jégu, Victor; Borios, Guillaume; Heckmann, Reinhold (2005). "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: 21–24.
  9. ^ Delmas, D.; Souyris, J. (2007). "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: 437–451.
  10. ^ Bouissou, O.; Conquet, E.; Cousot, P.; Cousot, R.; Feret, J.; Ghorbal, K.; Goubault, E.; Lesens, D.; Mauborgne, L.; Miné, A.; Putot, S.; Rival, X.; Turin, M. (2009). "Space software validation using Abstract Interpretation". Proceedings of 13th Data Systems in Aerospace, DASIA 2009, Istanbul, Turkey. {{cite journal}}: Unknown parameter |displayauthors= ignored (|display-authors= suggested) (help)