Taking Static Analysis to the Next Level: Proving the Absence of Run-Time Errors and Data Races with Astrée
نویسندگان
چکیده
We present an extension of Astrée to concurrent C software. Astrée is a sound static analyzer for run-time errors previously limited to sequential C software. Our extension employs a scalable abstraction which covers all possible thread interleavings, and soundly reports all run-time errors and data races: when the analyzer does not report any alarm, the program is proven free from those classes of errors. We show how this extension is able to support a variety of operating systems (such as POSIX threads, ARINC 653, OSEK/AUTOSAR) and report on experimental results obtained on concurrent software from different domains, including large industrial software.
منابع مشابه
Astrée: Proving the Absence of Runtime Errors
Safety-critical embedded software has to satisfy stringent quality requirements. Testing and validation consumes a large – and growing – fraction of development cost. The last years have seen the emergence of semantics-based static analysis tools in various application areas, from runtime error analysis to worst-case execution time prediction. Their appeal is that they have the potential to red...
متن کاملDesign and Evaluation of a Method for Partitioning and Offloading Web-based Applications in Mobile Systems with Bandwidth Constraints
Computation offloading is known to be among the effective solutions of running heavy applications on smart mobile devices. However, irregular changes of a mobile data rate have direct impacts on code partitioning when offloading is in progress. It is believed that once a rate-adaptive partitioning performed, the replication of such substantial processes due to bandwidth fluctuation can be avoid...
متن کاملارزیابی خطاهای انسانی به روش تجزیه و تحلیل استانداردشده صنعتی ریسک در پرستاران بخش اورژانس زایمان یکی از بیمارستان های دانشگاه علوم پزشکی تهران
Background: Recently, considerable attention has been paid to medical errors in health care system. Taking into account that nurses spend more time with patients in comparison with other staff, they are more prone to human errors. The present research conducted to investigate nurses' errors in delivery emergency ward in a hospital affiliated to Tehran University of Medical Sciences. Mate...
متن کاملCombining static and dynamic analysis to find multi-threading faults beyond data races
Multi-threaded programming gives rise to errors that do not occur in sequential programs. Such errors are hard to find using traditional testing. In this context, verification of the locking and data access discipline of a program is very promising, as it finds many kinds of errors quickly, without requiring a user-defined specification. Run-time verification utilizes such rules in order to det...
متن کاملStochastic Monthly Rainfall Time Series Analysis, Modeling and Forecasting ( A cas study: Ardebilcity
Rainfall is the main source of the available water for human. Predicting the amount of the future rainfall is useful for informed policies, planning and decision making that will help potentially make optimal and sustainable use of available water resources. The main aim of this study was to investigate the trend and forecast monthly rainfall of selected synoptic station in Ardabil province usi...
متن کامل