Kell, Stephen (2016) Dynamically Diagnosing Type Errors in Unsafe Code. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. SPLASH Systems, Programming, and Applications . ACM, New York, USA, pp. 800-819. ISBN 978-1-4503-4444-9. (doi:10.1145/2983990.2983998) (Access to this publication is currently restricted. You may be able to access a copy if URLs are provided) (KAR id:69699)
|
PDF
Publisher pdf
Language: English Restricted to Repository staff only |
|
|
|
|
| Official URL: https://dx.doi.org/10.1145/2983990.2983998 |
|
Abstract
Existing approaches for detecting type errors in unsafe languages are limited. Static analysis methods are imprecise, and often require source-level changes, while most dynamic methods check only memory properties (bounds, liveness, etc.), owing to a lack of run-time type information. This paper describes libcrunch, a system for binary-compatible run-time type checking of unmodified unsafe code, currently focusing on C. Practical experience shows that our prototype implementation is easily applicable to many real codebases without source-level modification, correctly flags programmer errors with a very low rate of false positives, offers a very low run-time overhead, and covers classes of error caught by no previously existing tool.
| Item Type: | Book section |
|---|---|
| DOI/Identification number: | 10.1145/2983990.2983998 |
| Subjects: | Q Science > QA Mathematics (inc Computing science) |
| Institutional Unit: | Schools > School of Computing |
| Former Institutional Unit: |
Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
|
| Depositing User: | Stephen Kell |
| Date Deposited: | 07 Jan 2019 17:29 UTC |
| Last Modified: | 20 May 2025 10:22 UTC |
| Resource URI: | https://kar.kent.ac.uk/id/eprint/69699 (The current URI for this page, for reference purposes) |
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):

https://orcid.org/0000-0002-2702-5983
Altmetric
Altmetric