CHECCED C Memperluas C dengan bounds checking dan meningkatkan keamanan tipe. Ini membantu pemrogram retrofit kode C yang ada menjadi lebih aman. Repo ini berisi spesifikasi C yang diperiksa, kode sampel, dan kode pengujian.
Pointer gemuk untuk keamanan memori temporal C oleh Jie Zhou, John Criswell, dan Michael Hicks. Ini muncul di Oopsla 2023. Ini menggambarkan ekstensi ke checked C yang menambahkan petunjuk baru yang memberikan keamanan memori temporal.
C untuk memeriksa C oleh 3C, oleh Aravind Machiry, John Kastner, Matt McCutchen, Aaron Elight, Kyle Headley, dan Michael Hicks. Makalah ini menjelaskan alat 3C semi-otomatis untuk mengonversi C untuk memeriksa C. Memenangkan Penghargaan Kertas Distinguished SigPlan di Oopsla 2022.
Model formal centang C, oleh Liyi Li, Deena Postol, Leonida Lampropoulos, David Van Horn, dan Michael Hicks. Ini diterbitkan dalam Simposlium Yayasan Keamanan Komputer ke -35 IEEE 2022. Ini menggambarkan model formal yang diperiksa C. Model ini diformalkan menggunakan pepatah teorema COQ.
Mencapai keselamatan secara bertahap dengan Centang C. Ini disajikan pada prinsip -prinsip 2019 Konferensi Keamanan dan Kepercayaan:. Makalah ini menjelaskan versi awal 3C yang mengonversi kode C yang ada untuk menggunakan tipe PTR. Ini juga membuktikan properti menyalahkan tentang daerah yang diperiksa yang menunjukkan bahwa daerah yang diperiksa tidak bersalah untuk korupsi memori apa pun. Bukti ini diformalkan untuk subset inti dari ekstensi bahasa.
Diperiksa C: Membuat C aman dengan ekstensi oleh David Tarditi, Samuel Elliott, Andrew Ruef, dan Michael Hicks. Ini muncul dalam Konferensi Pengembangan Cybersecurity IEEE 2018. Ini menjelaskan ide -ide kunci dari periksa batas C yang memeriksa dalam 8 halaman. Kami telah menambahkan fitur untuk memeriksa C sejak saat itu. Wiki dan spesifikasi memberikan deskripsi terkini dari diperiksa C.
Ada poster yang disajikan pada pertemuan LLVM Dev 2019: "Overflows Be Gone: Diperiksa C untuk Keamanan Memori". Poster ini memberikan pengantar untuk memeriksa C, menguraikan implementasi kompiler dan menyajikan evaluasi eksperimental dari diperiksa C.
Ada pembicaraan (slide) di rapat dev virtual 2020 LLVM: "Diperiksa C: Menambahkan dukungan keselamatan memori ke LLVM". Pembicaraan ini menggambarkan desain anotasi batas untuk pointer dan array pointer serta kerangka kerja untuk pemeriksaan statis dari kesehatan batas. Pembicaraan juga secara singkat menggambarkan algoritma baru untuk secara otomatis memperluas batas untuk array yang diakhiri nol dan untuk perbandingan ekspresi untuk kesetaraan.
Kami senang mendapat bantuan. Anda dapat berkontribusi dengan mencoba memeriksa C, melaporkan bug, dan memberi kami umpan balik. Ada cara lain untuk berkontribusi juga.
Perangkat lunak dalam repositori ini dicakup oleh lisensi MIT. Lihat lisensi file.txt untuk lisensi. Spesifikasi C yang diperiksa disediakan oleh Microsoft di bawah Perjanjian Spesifikasi Final OpenWeb Foundation, versi 1.0. Kontribusi kode ke repo LLVM/Clang yang diperiksa tunduk pada istilah lisensi LLVM/Clang.
Checked C adalah proyek sumber terbuka independen. Ini dimulai sebagai proyek penelitian di Microsoft pada tahun 2015. Mirip dengan Centang C. Kami mencari cara untuk meningkatkan keamanan perangkat lunak sistem yang ada dan menghilangkan kelas bug.
Salah satu pendekatan adalah menulis ulang perangkat lunak dalam bahasa yang lebih baru seperti Rust. Namun, kode penulisan ulang menantang karena sejumlah alasan: itu mahal, ada perbedaan halus dalam bahkan fitur bahasa dasar seperti aritmatika di seluruh bahasa, dan itu bisa memakan waktu lama sebelum Anda memiliki sistem kerja. Gabungan, ini membuat penulisan ulang proyek pengembangan perangkat lunak berisiko tinggi. Penulisan ulang jenis ini tidak mungkin dilakukan hanya untuk meningkatkan keamanan. Kami memutuskan untuk mengejar pendekatan tambahan yang memungkinkan kode C yang ada ditingkatkan secara bertahap dan dengan biaya yang jauh lebih rendah.
Para peneliti dari banyak universitas dan perusahaan telah berkontribusi pada para peneliti C. yang diperiksa di Universitas Maryland, Universitas Rochester, Universitas Washington, Samsung, Universitas Rutgers, dan Universitas Pennsylvania telah berkontribusi pada C. Apple yang diperiksa telah mengusulkan perpanjangan C yang mirip dengan C diperiksa yang bergantung pada pemeriksaan yang lebih dinamis.
Proyek ini telah mengadopsi kode etik.