Changeset 499a45a


Ignore:
Timestamp:
Aug 12, 2025, 9:08:22 PM (6 weeks ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
7e2739f
Parents:
7f995d70
Message:

add improving safety issues to introduction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mike_brooks_MMath/intro.tex

    r7f995d70 r499a45a  
    44Often array is part of the programming language, while linked-list is built from (recursive) pointer types, and string from a combination of array and linked-list.
    55For all three types, languages and/or their libraries supply varying degrees of high-level mechanisms for manipulating these objects at the bulk and component level, such as copying, slicing, extracting, and iterating among elements.
     6
     7Unfortunately, these three aspects of C cause a significant number of memory errors~\cite{vanOorschot23}.
     8For operating system and browser vendors, who heavily use systems languages, 60\%--70\% of reported software vulnerabilities involved memory errors~\cite{Kehrer23}.
     9For Microsoft, 70\% of vulnerabilities addressed via security updates between 2006--2018 are memory safety issues~\cite[slide 10]{Miller19}.
     10In a study of software exploits in the U.S. National Vulnerability Database over 2013--2017, the top reported vulnerability is (memory) buffer errors, among 19 vulnerability categories~\cite{Cifuentes19}.
     11Therefore, hardening these three C types goes a long way to make the majority of C programs safer.
    612
    713This work looks at extending these three foundational container types in the programming language \CFA, which is a new dialect of the C programming language.
Note: See TracChangeset for help on using the changeset viewer.