Logiciel antivirusLes antivirus sont des logiciels conçus pour identifier, neutraliser et éliminer des logiciels malveillants (dont les virus informatiques ne sont qu'une catégorie). Ces derniers peuvent se baser sur l'exploitation de failles de sécurité, mais il peut également s'agir de logiciels modifiant ou supprimant des fichiers, que ce soit des documents de l'utilisateur stockés sur l'ordinateur infecté, ou des fichiers nécessaires au bon fonctionnement de l'ordinateur (le plus souvent ceux du système d'exploitation).
Virus polymorpheUn virus polymorphe est un virus informatique qui, lors de sa réplication, modifie sa représentation, ce qui empêche un logiciel antivirus de l'identifier par sa signature. Bien qu'en apparence le virus change (du point de vue d'un programme antivirus qui lit le programme infecté), le fonctionnement du virus (sa méthode d'infection et sa charge utile) reste le même : les algorithmes ne sont pas modifiés, mais leur traduction en code-machine l'est.
Logiciel malveillantvignette|upright=1.5|Différents types de logiciels malveillants. Un logiciel malveillant ou maliciel, aussi dénommé logiciel nuisible ou programme malveillant ou pourriciel (de l'anglais malware ), est un programme développé dans le but de nuire à un système informatique, sans le consentement de l'utilisateur dont l'ordinateur est infecté. Il existe plusieurs méthodes utilisées par les pirates pour infecter un ordinateur, comme le phising (hameçonnage par e-mail) ou le téléchargement automatique d'un fichier par exemple.
Téléchargement furtifLe terme téléchargement furtif ou téléchargement à la dérobée (en anglais, drive-by download ou drive-by install) signifie deux choses, chacune concernant le téléchargement involontaire de logiciels depuis Internet : un téléchargement qu'une personne a autorisé mais sans en comprendre les conséquences (par exemple, des téléchargements qui installent un programme non désiré ou malveillant, un composant ActiveX ou un applet Java).
Vérification de modèlesthumb|308x308px|Principe du model checking. En informatique, la vérification de modèles, ou model checking en anglais, est le problème suivant : vérifier si le modèle d'un système (souvent informatique ou électronique) satisfait une propriété. Par exemple, on souhaite vérifier qu'un programme ne se bloque pas, qu'une variable n'est jamais nulle, etc. Généralement, la propriété est écrite dans un langage, souvent en logique temporelle. La vérification est généralement faite de manière automatique.
Injection de codevignette|Qu'est-ce que l'injection de code ? (anglais) Une injection de code est un type d'exploitation d'une faille de sécurité d'une application, non prévue par le système et pouvant compromettre sa sécurité, en modifiant son exécution. Certaines injections de code ont pour but d'obtenir une élévation des privilèges, ou d'installer un logiciel malveillant. Il s'agit aussi du mode de propagation des vers informatiques. Injection de code dans les applications web Injection SQL Catégorie:Exploit (informatiqu
Code sourcevignette|redresse|Copie papier d'un code source en Fortran des années 1970, imprimé sur du , dédié aux fichiers textes. En informatique, le code source est un texte qui présente les instructions composant un programme sous une forme lisible, telles qu'elles ont été écrites dans un langage de programmation. Le code source se matérialise généralement sous la forme d'un ensemble de fichiers texte. Le code source est souvent traduit — par un assembleur ou un compilateur — en code binaire composé d'instructions exécutables par le processeur.
Code automodifiableUn code automodifiable est, en programmation informatique, un programme qui peut se modifier lui-même, c’est-à-dire appeler des routines, fonctions ou méthodes qui seront créées par le programme lui-même. En dehors de l'idée, qui relève pour le moment de la fiction, d'un robot qui modifierait lui-même sa finalité, l'utilisation la plus courante du code automodifiable est l'optimisation de la vitesse d'exécution d'un programme : par exemple un interpréteur peut analyser le code source qu'il est en train d'exécuter, se rendre compte qu'une fonction est appelée fréquemment, et en réaliser à la volée une version compilée, qui sera exécutée plus rapidement.
Langage de programmation de haut niveauEn programmation informatique, un langage de programmation à haut niveau d'abstraction généralement appelé langage de haut niveau est un langage de programmation orienté autour du problème à résoudre, qui permet d'écrire des programmes en utilisant des mots usuels des langues naturelles (très souvent de l'anglais) et des symboles mathématiques familiers. Un langage de haut niveau fait abstraction des caractéristiques techniques du matériel utilisé pour exécuter le programme, tels que les registres et les drapeaux du processeur.
Langage de programmationthumb|Fragment de code écrit dans le langage de programmation JavaScript. Un langage de programmation est un langage informatique destiné à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine.