Le C vérifié s'étend C avec la vérification des limites et la sécurité de type améliorée. Il aide les programmeurs à moderniser le code C existant pour être plus sécurisé. Ce référentiel contient la spécification C vérifiée, l'exemple de code et le code de test.
Fat Pointers pour la sécurité de la mémoire temporelle de C par Jie Zhou, John Criswell et Michael Hicks. Cela est apparu dans Oopsla 2023. Il décrit une extension à Crilled C qui ajoute de nouveaux pointeurs qui assurent la sécurité de la mémoire temporelle.
C à vérifié C par 3C, par Aravind Machiry, John Kastner, Matt McCutchen, Aaron Eline, Kyle Headley et Michael Hicks. Cet article décrit l'outil 3C semi-automatisé pour convertir C en C. C. Il a remporté un prix de papier distingué Sigplan à Oopsla 2022.
Un modèle formel de C, par Liyi Li, Deena Postol, Leonida Lampropoulos, David Van Horn et Michael Hicks. Ceci a été publié dans le Symposlium de fondations de la sécurité informatique de l'IEEE 35e. Il décrit un modèle formel de C. vérifié C. Le modèle a été formalisé à l'aide du prover de théorème CoQ.
Atteindre la sécurité progressivement avec C. C. Ceci a été présenté lors de la conférence des principes de sécurité et de confiance des principes 2019:. Cet article décrit une première version de 3C qui convertit le code C existant pour utiliser les types PTR. Il prouve également une propriété de blâme sur les régions vérifiées qui montrent que les régions vérifiées sont irréprochables pour toute corruption de la mémoire. Cette preuve est formalisée pour un sous-ensemble de base de l'extension de la langue.
Vérifié C: Making C Safe By Extension par David Tarditi, Samuel Elliott, Andrew Ruef et Michael Hicks. Cela est apparu lors de la conférence de développement de la cybersécurité de l'IEEE 2018. Il décrit les idées clés des limites de C vérifiées en vérifiant 8 pages. Nous avons ajouté des fonctionnalités à CORDED C depuis lors. Le wiki et les spécifications fournissent des descriptions à jour de C. Vérifié C.
Il y avait une affiche présentée à la réunion LLVM Dev 2019: "Les débordements ont disparu: vérifié C pour la sécurité de la mémoire". L'affiche fournit une introduction à Crilled C, décrit la mise en œuvre du compilateur et présente une évaluation expérimentale de C. vérifié C.
Il y a eu une conversation (diapositives) lors de la réunion Virtual Dev Virtual 2020: "Contrôlé C: Ajout d'un support de sécurité mémoire à LLVM". Le discours décrit la conception des annotations des limites pour les pointeurs et les pointeurs vérifiés ainsi que le cadre de vérification statique de la solidité des limites. Le discours décrit également brièvement de nouveaux algorithmes pour élargir automatiquement les limites des tableaux à terminaison nulle et pour la comparaison des expressions pour l'équivalence.
Nous sommes heureux d'avoir l'aide. Vous pouvez contribuer en essayant le C vérifié, en rapportant des bogues et en nous donnant des commentaires. Il existe également d'autres façons de contribuer.
Le logiciel de ce référentiel est couvert par la licence MIT. Voir le fichier Licence.txt pour la licence. La spécification C à cochée est mise à disposition par Microsoft dans le cadre de l'accord de spécification finale de la Fondation OpenWeb, version 1.0. Les contributions du code aux dépôts LLVM / Clang cochées sont soumises aux termes de licence LLVM / CLANG.
Vérifié C est un projet d'oer-source indépendant. Il a commencé comme un projet de recherche chez Microsoft en 2015. Similaire à C. C. Nous recherchions un moyen d'améliorer la sécurité des logiciels de systèmes existants et d'éliminer les classes de bogues.
Une approche consiste à réécrire le logiciel dans une langue plus récente comme la rouille. Cependant, la réécriture du code est difficile pour un certain nombre de raisons: il est coûteux, il existe des différences subtiles dans les fonctionnalités de base même de base telles que l'arithmétique entre les langues, et cela peut prendre beaucoup de temps avant d'avoir un système de travail. Combiné, cela fait de la réécriture un projet de développement logiciel à haut risque. Il est peu probable que ces types de réécritures soient faits pour améliorer la sécurité. Nous avons décidé de poursuivre une approche progressive qui permet à l'amélioration du code C existant progressivement et à un coût beaucoup plus faible.
Des chercheurs de nombreuses universités et entreprises ont contribué à des chercheurs de C. aux chercheurs de l'Université du Maryland, de l'Université de Rochester, de l'Université de Washington, de Samsung, de l'Université Rutgers et de l'Université de Pennsylvanie ont contribué à vérifier que C. Apple a proposé une extension C similaire à Colded C qui relie à une vérification plus dynamique.
Ce projet a adopté un code de conduite.