Skip to main content

Dynamically Diagnosing Type Errors in Unsafe Code

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
[thumbnail of typebugs.pdf]
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)
Divisions: 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: 17 Aug 2022 12:22 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/69699 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.