Explore la sécurité du langage de programmation, couvrant la sécurité de type, la sécurité de la mémoire, la sécurité des menaces, le modèle de propriété de Rust, le sandboxing et la compartimentation.
Explore les défis des références nulles dans les langages de programmation et propose des solutions pour atténuer leurs inconvénients tout en assurant la compatibilité avec les bases de code existantes.
Introduit les fondamentaux de l'ingénierie logicielle, couvrant le traitement de l'instruction, les algorithmes, les langages de programmation, les abstractions, les tests, la sécurité et l'open source.
Explore l'analyse automatisée de terminaison à l'aide de paires de dépendances, couvrant les techniques classiques et modernes, les concours annuels et des outils comme AProVE.
Explore les défis de programmation, les techniques de débogage, les tests de logiciels et les pratiques de sécurité dans le développement de logiciels.
Explique les concepts essentiels des fonctions dans la programmation C, y compris les définitions, les prototypes et les techniques de passage d'arguments.
Introduit Iris, un cadre logique pour raisonner sur la sécurité et l'exactitude des programmes impératifs d'ordre supérieur simultanés, en mettant l'accent sur ses caractéristiques et applications uniques.
Couvre la définition et les applications des pointeurs dans la programmation C, en mettant l'accent sur leur rôle dans la gestion de la mémoire et la programmation générique.
Introduit les bases des variables et des types dans la programmation C, couvrant la déclaration, l'initialisation et les différences par rapport à Java.
Explique le processus de résolution des contraintes de type en utilisant l'algorithme d'unification et la généralisation de l'inférence de type flexible.
Couvre l'étude mathématique des comportements de programme, l'analyse, les langages spécifiques à un domaine et les outils puissants de conception de langage.