SafeOSL: Ensuring memory safety of C via ownership‐based intermediate language. (6th December 2021)
- Record Type:
- Journal Article
- Title:
- SafeOSL: Ensuring memory safety of C via ownership‐based intermediate language. (6th December 2021)
- Main Title:
- SafeOSL: Ensuring memory safety of C via ownership‐based intermediate language
- Authors:
- Yin, Xiaohua
Huang, Zhiqiu
Kan, Shuanglong
Shen, Guohua
Chen, Zhe
Liu, Yang
Wang, Fei - Abstract:
- Abstract: The unsafe features of C make it a big challenge to ensure memory safety of C programs, and often lead to memory errors that can result in vulnerabilities. Various formal verification techniques for ensuring memory safety of C have been proposed. However, most of them either have a high overhead, such as state explosion problem in model checking, or have false positives, such as abstract interpretation. In this article, by innovatively borrowing ownership system from Rust, we propose a novel and sound static memory safety analysis approach, named SafeOSL. Its basic idea is an ownership‐based intermediate language, called ownership system language (OSL), which captures the features of the ownership system in Rust. Ownership system specifies the relations among variables and memory locations, and maintains invariants that can ensure memory safety. The semantics of OSL is formalized in K‐framework, which is a rewriting‐logic based tool. C programs to be checked are first transformed into OSL programs and then detected by OSL semantics. Experimental results have demonstrated that SafeOSL is effective in detecting memory errors of C. Moreover, the translations and experiments indicate that the intermediate language OSL could be reused by other programming languages to detect memory errors.
- Is Part Of:
- Software, practice & experience. Volume 52:Number 5(2022)
- Journal:
- Software, practice & experience
- Issue:
- Volume 52:Number 5(2022)
- Issue Display:
- Volume 52, Issue 5 (2022)
- Year:
- 2022
- Volume:
- 52
- Issue:
- 5
- Issue Sort Value:
- 2022-0052-0005-0000
- Page Start:
- 1114
- Page End:
- 1142
- Publication Date:
- 2021-12-06
- Subjects:
- C -- memory errors -- memory safety -- ownership system -- Rust
Computer software -- Periodicals
Computer programming -- Periodicals
Computer programs -- Periodicals
005.3 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/spe.3057 ↗
- Languages:
- English
- ISSNs:
- 0038-0644
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.453000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 21234.xml