Static Analysis of Run-Time Errors in Embedded Real-Time Parallel C Programs

We present a static analysis by Abstract Interpretation to check for run-time errors in parallel and multi-threaded C programs. Following our work on Astr\'ee, we focus on embedded critical programs without recursion nor dynamic memory allocation, but extend the analysis to a static set of thre...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Logical methods in computer science Jg. 8, Issue 1
1. Verfasser: Miné, Antoine
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Logical Methods in Computer Science e.V 01.01.2012
Schlagworte:
ISSN:1860-5974, 1860-5974
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract We present a static analysis by Abstract Interpretation to check for run-time errors in parallel and multi-threaded C programs. Following our work on Astr\'ee, we focus on embedded critical programs without recursion nor dynamic memory allocation, but extend the analysis to a static set of threads communicating implicitly through a shared memory and explicitly using a finite set of mutual exclusion locks, and scheduled according to a real-time scheduling policy and fixed priorities. Our method is thread-modular. It is based on a slightly modified non-parallel analysis that, when analyzing a thread, applies and enriches an abstract set of thread interferences. An iterator then re-analyzes each thread in turn until interferences stabilize. We prove the soundness of our method with respect to the sequential consistency semantics, but also with respect to a reasonable weakly consistent memory semantics. We also show how to take into account mutual exclusion and thread priorities through a partitioning over an abstraction of the scheduler state. We present preliminary experimental results analyzing an industrial program with our prototype, Th\'es\'ee, and demonstrate the scalability of our approach.
AbstractList We present a static analysis by Abstract Interpretation to check for run-time errors in parallel and multi-threaded C programs. Following our work on Astr\'ee, we focus on embedded critical programs without recursion nor dynamic memory allocation, but extend the analysis to a static set of threads communicating implicitly through a shared memory and explicitly using a finite set of mutual exclusion locks, and scheduled according to a real-time scheduling policy and fixed priorities. Our method is thread-modular. It is based on a slightly modified non-parallel analysis that, when analyzing a thread, applies and enriches an abstract set of thread interferences. An iterator then re-analyzes each thread in turn until interferences stabilize. We prove the soundness of our method with respect to the sequential consistency semantics, but also with respect to a reasonable weakly consistent memory semantics. We also show how to take into account mutual exclusion and thread priorities through a partitioning over an abstraction of the scheduler state. We present preliminary experimental results analyzing an industrial program with our prototype, Th\'es\'ee, and demonstrate the scalability of our approach.
Author Miné, Antoine
Author_xml – sequence: 1
  givenname: Antoine
  surname: Miné
  fullname: Miné, Antoine
BookMark eNp1kM9LwzAUx4NMcM7dPeaoh2qStmnqbZSpg4pjm-fwmh-jo20kqYf997ZORATf5T0Svp_H-1yiSec6g9A1JXeMcnFfvhTbSNzQB8ZvGaHsDE2p4CRK8yyZ_Jov0DyEAxkqjqlgfIrKbQ99rfCig-YY6oCdxZuPLtrVrcFL750PuO7wsq2M1kbjjYHm9LkGD01jGlzgtXd7D224QucWmmDm332G3h6Xu-I5Kl-fVsWijFSc0j7SSSVUKkCkFgiLTZoRlkFqrFaGZamNK5FqyvOYJlznmeFKK54LXUGVUxuLeIZWJ652cJDvvm7BH6WDWn49OL-X4IerGiO55cM2A0QJnQwagFNCDMktMJ1TTgYWObGUdyF4Y394lMhRrhzlSiGpZFyOcocI_xNR9WjRdb2Huvk_-AlTpX9G
CitedBy_id crossref_primary_10_1145_3729297
crossref_primary_10_1017_S0960129521000499
crossref_primary_10_1007_s10009_024_00773_y
crossref_primary_10_1145_3732933
crossref_primary_10_1016_j_jss_2018_10_001
crossref_primary_10_1016_j_scico_2018_05_001
crossref_primary_10_1007_s00165_014_0326_7
crossref_primary_10_1016_j_scico_2016_01_007
Cites_doi 10.1007/978-3-540-31980-1_7
10.1007/BF00268134
10.2140/pjm.1979.82.43
10.1007/978-3-540-79124-9_9
10.1007/978-3-540-31987-0_2
10.1145/781131.781153
10.1109/RTTAS.2003.1203046
10.1145/512950.512973
10.1007/978-3-662-03811-6
10.1145/1706299.1706303
10.1093/logcom/2.4.511
10.1007/978-3-642-19835-9_5
10.1007/978-1-4757-3472-0_2
10.1109/TC.1979.1675439
10.1007/BFb0039704
10.1016/S1571-0661(05)01155-2
10.1145/1328438.1328469
10.1007/3-540-55844-6_142
10.1007/978-3-642-02658-4_52
10.1109/2.546611
10.1109/TSE.1977.229904
10.1109/DASC.2007.4391842
10.1007/3-540-44829-2_14
10.1145/237721.237727
10.1145/379539.379553
10.1007/978-3-540-30538-5_4
10.1007/978-3-540-77505-8_23
10.2140/pjm.1955.5.285
10.1145/360933.360975
10.1007/978-3-642-19718-5_21
10.1145/1040305.1040336
10.2514/6.2010-3385
10.1007/BF00289062
10.1145/1926385.1926393
10.1007/978-3-642-25318-8_21
10.1145/1134650.1134659
10.1145/1785414.1785443
10.1109/TASE.2007.55
10.1007/978-3-540-74061-2_27
10.1145/1111037.1111042
10.1007/978-3-540-24725-8_4
10.1145/359545.359563
10.1007/3-540-47764-0_1
10.1145/512760.512770
10.1145/1229428.1229469
10.1007/s10990-006-8609-1
ContentType Journal Article
DBID AAYXX
CITATION
DOA
DOI 10.2168/LMCS-8(1:26)2012
DatabaseName CrossRef
DOAJ Directory of Open Access Journals
DatabaseTitle CrossRef
DatabaseTitleList CrossRef

Database_xml – sequence: 1
  dbid: DOA
  name: Open Access资源_DOAJ
  url: https://www.doaj.org/
  sourceTypes: Open Website
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1860-5974
ExternalDocumentID oai_doaj_org_article_6f64b8ea0c8d4860a6100e09fa2d9160
10_2168_LMCS_8_1_26_2012
GroupedDBID .DC
29L
2WC
5GY
5VS
AAFWJ
AAYXX
ADBBV
ADQAK
AENEX
AFPKN
ALMA_UNASSIGNED_HOLDINGS
BCNDV
CITATION
EBS
EJD
FRP
GROUPED_DOAJ
J9A
KQ8
M~E
OK1
OVT
P2P
TR2
TUS
XSB
ID FETCH-LOGICAL-c351t-d4b8c58a85fa023e57027a5efdce275f3b85d1693146d97e6cdc698dbab91f383
IEDL.DBID DOA
ISICitedReferencesCount 24
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000302505000026&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1860-5974
IngestDate Fri Oct 03 12:38:40 EDT 2025
Tue Nov 18 21:52:00 EST 2025
Sat Nov 29 08:03:57 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Language English
License https://creativecommons.org/licenses/by/3.0
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c351t-d4b8c58a85fa023e57027a5efdce275f3b85d1693146d97e6cdc698dbab91f383
OpenAccessLink https://doaj.org/article/6f64b8ea0c8d4860a6100e09fa2d9160
ParticipantIDs doaj_primary_oai_doaj_org_article_6f64b8ea0c8d4860a6100e09fa2d9160
crossref_primary_10_2168_LMCS_8_1_26_2012
crossref_citationtrail_10_2168_LMCS_8_1_26_2012
PublicationCentury 2000
PublicationDate 2012-01-01
PublicationDateYYYYMMDD 2012-01-01
PublicationDate_xml – month: 01
  year: 2012
  text: 2012-01-01
  day: 01
PublicationDecade 2010
PublicationTitle Logical methods in computer science
PublicationYear 2012
Publisher Logical Methods in Computer Science e.V
Publisher_xml – name: Logical Methods in Computer Science e.V
References 10.2168/LMCS-8(1:26)2012_mauborgne-rival-ESOP05
10.2168/LMCS-8(1:26)2012_chang-al:popl08
A. Tarski (10.2168/LMCS-8(1:26)2012_tarski-PJM55) 1955; 5
10.2168/LMCS-8(1:26)2012_posix-threads
10.2168/LMCS-8(1:26)2012_carre-hymans-ARXIV09
10.2168/LMCS-8(1:26)2012_dijkstra-EWD123
10.2168/LMCS-8(1:26)2012_cousot-al-ASIAN06
10.2168/LMCS-8(1:26)2012_ch:popl78
10.2168/LMCS-8(1:26)2012_steensgaard-popl96
10.2168/LMCS-8(1:26)2012_reynolds-FSTTCS04
10.2168/LMCS-8(1:26)2012_godefroid-phd
10.2168/LMCS-8(1:26)2012_java3
10.2168/LMCS-8(1:26)2012_mine-LCTES06
10.2168/LMCS-8(1:26)2012_mine:cav09
10.2168/LMCS-8(1:26)2012_flanagan-al-spin03
10.2168/LMCS-8(1:26)2012_qadeer-rehof-tacas05
10.2168/LMCS-8(1:26)2012_cc-APCT84
10.2168/LMCS-8(1:26)2012_ima
10.2168/LMCS-8(1:26)2012_delmas-souyris-sas07
P. Cousot and R. Cousot (10.2168/LMCS-8(1:26)2012_cc-PJM79) 1979; 81
10.2168/LMCS-8(1:26)2012_cc-JLC92
10.2168/LMCS-8(1:26)2012_alglave-al-tacas11
10.2168/LMCS-8(1:26)2012_saraswat-al-PPOPP07
10.2168/LMCS-8(1:26)2012_dijkstra-EWD472
10.2168/LMCS-8(1:26)2012_adve-charachorloo-WRL95
10.2168/LMCS-8(1:26)2012_lamport-AI80
10.2168/LMCS-8(1:26)2012_c99
10.2168/LMCS-8(1:26)2012_roever-01
10.2168/LMCS-8(1:26)2012_manson-al-POPL05
10.2168/LMCS-8(1:26)2012_absint-web
10.2168/LMCS-8(1:26)2012_bertrane-al-aiaa10
10.2168/LMCS-8(1:26)2012_rinard-sas01
10.2168/LMCS-8(1:26)2012_nielson-al
10.2168/LMCS-8(1:26)2012_ieee754
10.2168/LMCS-8(1:26)2012_lamport-ACM78
10.2168/LMCS-8(1:26)2012_feret:getcol00
10.2168/LMCS-8(1:26)2012_lamport-TC79
10.2168/LMCS-8(1:26)2012_sewell-al:jacm10
10.2168/LMCS-8(1:26)2012_malkis-phd
10.2168/LMCS-8(1:26)2012_ARINC
10.2168/LMCS-8(1:26)2012_blanchet-al-PLDI03
10.2168/LMCS-8(1:26)2012_owicki-gries-AI76
10.2168/LMCS-8(1:26)2012_lamport-TSE77
10.2168/LMCS-8(1:26)2012_leroy-POPL06
10.2168/LMCS-8(1:26)2012_mine:esop11
10.2168/LMCS-8(1:26)2012_atig-al-popl10
10.2168/LMCS-8(1:26)2012_cc-POPL77
10.2168/LMCS-8(1:26)2012_ferrara-TAP08
10.2168/LMCS-8(1:26)2012_gamatie-RTAS03
10.2168/LMCS-8(1:26)2012_cc-PLILP92
10.2168/LMCS-8(1:26)2012_mine:dasia09
10.2168/LMCS-8(1:26)2012_feret-ESOP04
10.2168/LMCS-8(1:26)2012_salciano-al-ppopp01
10.2168/LMCS-8(1:26)2012_sevcik-popl11
10.2168/LMCS-8(1:26)2012_mine-al:tase07
10.2168/LMCS-8(1:26)2012_astreea-web
10.2168/LMCS-8(1:26)2012_bourdoncle-FMPA93
10.2168/LMCS-8(1:26)2012_mine-HOSC06
10.2168/LMCS-8(1:26)2012_algave-aplas11
References_xml – ident: 10.2168/LMCS-8(1:26)2012_qadeer-rehof-tacas05
  doi: 10.1007/978-3-540-31980-1_7
– ident: 10.2168/LMCS-8(1:26)2012_owicki-gries-AI76
  doi: 10.1007/BF00268134
– volume: 81
  start-page: 43
  issue: 1
  year: 1979
  ident: 10.2168/LMCS-8(1:26)2012_cc-PJM79
  publication-title: Pacific Journal of Mathematics
  doi: 10.2140/pjm.1979.82.43
– ident: 10.2168/LMCS-8(1:26)2012_godefroid-phd
– ident: 10.2168/LMCS-8(1:26)2012_ferrara-TAP08
  doi: 10.1007/978-3-540-79124-9_9
– ident: 10.2168/LMCS-8(1:26)2012_mauborgne-rival-ESOP05
  doi: 10.1007/978-3-540-31987-0_2
– ident: 10.2168/LMCS-8(1:26)2012_blanchet-al-PLDI03
  doi: 10.1145/781131.781153
– ident: 10.2168/LMCS-8(1:26)2012_gamatie-RTAS03
  doi: 10.1109/RTTAS.2003.1203046
– ident: 10.2168/LMCS-8(1:26)2012_cc-POPL77
  doi: 10.1145/512950.512973
– ident: 10.2168/LMCS-8(1:26)2012_nielson-al
  doi: 10.1007/978-3-662-03811-6
– ident: 10.2168/LMCS-8(1:26)2012_atig-al-popl10
  doi: 10.1145/1706299.1706303
– ident: 10.2168/LMCS-8(1:26)2012_carre-hymans-ARXIV09
– ident: 10.2168/LMCS-8(1:26)2012_cc-JLC92
  doi: 10.1093/logcom/2.4.511
– ident: 10.2168/LMCS-8(1:26)2012_alglave-al-tacas11
  doi: 10.1007/978-3-642-19835-9_5
– ident: 10.2168/LMCS-8(1:26)2012_dijkstra-EWD123
  doi: 10.1007/978-1-4757-3472-0_2
– ident: 10.2168/LMCS-8(1:26)2012_lamport-TC79
  doi: 10.1109/TC.1979.1675439
– ident: 10.2168/LMCS-8(1:26)2012_bourdoncle-FMPA93
  doi: 10.1007/BFb0039704
– ident: 10.2168/LMCS-8(1:26)2012_feret:getcol00
  doi: 10.1016/S1571-0661(05)01155-2
– ident: 10.2168/LMCS-8(1:26)2012_chang-al:popl08
  doi: 10.1145/1328438.1328469
– ident: 10.2168/LMCS-8(1:26)2012_cc-PLILP92
  doi: 10.1007/3-540-55844-6_142
– ident: 10.2168/LMCS-8(1:26)2012_mine:cav09
  doi: 10.1007/978-3-642-02658-4_52
– ident: 10.2168/LMCS-8(1:26)2012_c99
– ident: 10.2168/LMCS-8(1:26)2012_adve-charachorloo-WRL95
  doi: 10.1109/2.546611
– ident: 10.2168/LMCS-8(1:26)2012_lamport-TSE77
  doi: 10.1109/TSE.1977.229904
– ident: 10.2168/LMCS-8(1:26)2012_ima
  doi: 10.1109/DASC.2007.4391842
– ident: 10.2168/LMCS-8(1:26)2012_flanagan-al-spin03
  doi: 10.1007/3-540-44829-2_14
– ident: 10.2168/LMCS-8(1:26)2012_posix-threads
– ident: 10.2168/LMCS-8(1:26)2012_cc-APCT84
– ident: 10.2168/LMCS-8(1:26)2012_steensgaard-popl96
  doi: 10.1145/237721.237727
– ident: 10.2168/LMCS-8(1:26)2012_malkis-phd
– ident: 10.2168/LMCS-8(1:26)2012_salciano-al-ppopp01
  doi: 10.1145/379539.379553
– ident: 10.2168/LMCS-8(1:26)2012_reynolds-FSTTCS04
  doi: 10.1007/978-3-540-30538-5_4
– ident: 10.2168/LMCS-8(1:26)2012_cousot-al-ASIAN06
  doi: 10.1007/978-3-540-77505-8_23
– volume: 5
  start-page: 285
  year: 1955
  ident: 10.2168/LMCS-8(1:26)2012_tarski-PJM55
  publication-title: Pacific Journal of Mathematics
  doi: 10.2140/pjm.1955.5.285
– ident: 10.2168/LMCS-8(1:26)2012_dijkstra-EWD472
  doi: 10.1145/360933.360975
– ident: 10.2168/LMCS-8(1:26)2012_mine:esop11
  doi: 10.1007/978-3-642-19718-5_21
– ident: 10.2168/LMCS-8(1:26)2012_manson-al-POPL05
  doi: 10.1145/1040305.1040336
– ident: 10.2168/LMCS-8(1:26)2012_astreea-web
– ident: 10.2168/LMCS-8(1:26)2012_bertrane-al-aiaa10
  doi: 10.2514/6.2010-3385
– ident: 10.2168/LMCS-8(1:26)2012_lamport-AI80
  doi: 10.1007/BF00289062
– ident: 10.2168/LMCS-8(1:26)2012_sevcik-popl11
  doi: 10.1145/1926385.1926393
– ident: 10.2168/LMCS-8(1:26)2012_algave-aplas11
  doi: 10.1007/978-3-642-25318-8_21
– ident: 10.2168/LMCS-8(1:26)2012_roever-01
– ident: 10.2168/LMCS-8(1:26)2012_absint-web
– ident: 10.2168/LMCS-8(1:26)2012_mine-LCTES06
  doi: 10.1145/1134650.1134659
– ident: 10.2168/LMCS-8(1:26)2012_sewell-al:jacm10
  doi: 10.1145/1785414.1785443
– ident: 10.2168/LMCS-8(1:26)2012_ARINC
– ident: 10.2168/LMCS-8(1:26)2012_mine-al:tase07
  doi: 10.1109/TASE.2007.55
– ident: 10.2168/LMCS-8(1:26)2012_delmas-souyris-sas07
  doi: 10.1007/978-3-540-74061-2_27
– ident: 10.2168/LMCS-8(1:26)2012_leroy-POPL06
  doi: 10.1145/1111037.1111042
– ident: 10.2168/LMCS-8(1:26)2012_feret-ESOP04
  doi: 10.1007/978-3-540-24725-8_4
– ident: 10.2168/LMCS-8(1:26)2012_lamport-ACM78
  doi: 10.1145/359545.359563
– ident: 10.2168/LMCS-8(1:26)2012_rinard-sas01
  doi: 10.1007/3-540-47764-0_1
– ident: 10.2168/LMCS-8(1:26)2012_ieee754
– ident: 10.2168/LMCS-8(1:26)2012_ch:popl78
  doi: 10.1145/512760.512770
– ident: 10.2168/LMCS-8(1:26)2012_mine:dasia09
– ident: 10.2168/LMCS-8(1:26)2012_java3
– ident: 10.2168/LMCS-8(1:26)2012_saraswat-al-PPOPP07
  doi: 10.1145/1229428.1229469
– ident: 10.2168/LMCS-8(1:26)2012_mine-HOSC06
  doi: 10.1007/s10990-006-8609-1
SSID ssj0000331826
Score 2.0530665
Snippet We present a static analysis by Abstract Interpretation to check for run-time errors in parallel and multi-threaded C programs. Following our work on Astr\'ee,...
SourceID doaj
crossref
SourceType Open Website
Enrichment Source
Index Database
SubjectTerms computer science - logic in computer science
computer science - programming languages
d.2.4
f.3.1
f.3.2
Title Static Analysis of Run-Time Errors in Embedded Real-Time Parallel C Programs
URI https://doaj.org/article/6f64b8ea0c8d4860a6100e09fa2d9160
Volume 8, Issue 1
WOSCitedRecordID wos000302505000026&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVAON
  databaseName: Open Access资源_DOAJ
  customDbUrl:
  eissn: 1860-5974
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0000331826
  issn: 1860-5974
  databaseCode: DOA
  dateStart: 20040101
  isFulltext: true
  titleUrlDefault: https://www.doaj.org/
  providerName: Directory of Open Access Journals
– providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 1860-5974
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0000331826
  issn: 1860-5974
  databaseCode: M~E
  dateStart: 20040101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV27TsMwFLVQxcDCG1Fe8sBAB6t52XHYoApiaKuqgNTN8lOqVFKUtox8O9dJWpUFFpYMiZNY5ya-5zjOuQjdMu-6FllDgKw6khiaEJmEnCQa2IPXB0pWlvn9dDjkk0k22ir15deE1fbANXBd5liiuJWB5sYXTJKQ7wMbZE5GBqhNpdbhdltiqhqD49gT5_q7ZBQy3u0Pei-E34X3EetA0ot-5KEtu_4qrzwdov2GEOKHuiNHaMcWx-hgXWwBN-_eCep7WjjVeO0igucOj1cF8f9w4Lws5-UCTwucvysLY4nBY2CA9cGRLH3BlBnu4VG9Gmtxit6e8tfeM2lKIRAd03BJDGCgKZecOglZ1tIU5KSk1hlto5S6WHFqvK8KDHwmSy3TRrOMGyVVFjpQoWeoVcwLe44w4AiqJWCGZTRJnFbaGQssKEs1UD3F2qi7Bkboxifcl6uYCdALHkrhoRRchCJiwkPZRp3NGR-1R8YvbR891pt23t262gExF03MxV8xv_iPi1yiPd-hejrlCrWW5cpeo139uZwuypvqcYLt4Cv_BjD4zTw
linkProvider Directory of Open Access Journals
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Static+Analysis+of+Run-Time+Errors+in+Embedded+Real-Time+Parallel+C+Programs&rft.jtitle=Logical+methods+in+computer+science&rft.au=Min%C3%A9%2C+Antoine&rft.date=2012-01-01&rft.issn=1860-5974&rft.eissn=1860-5974&rft.volume=8%2C+Issue+1&rft_id=info:doi/10.2168%2FLMCS-8%281%3A26%292012&rft.externalDBID=n%2Fa&rft.externalDocID=10_2168_LMCS_8_1_26_2012
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1860-5974&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1860-5974&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1860-5974&client=summon