Résumé
vignette|upright=1|Le Mac triste : écran indiquant un code erreur sur les premières versions du MacIntosh d'Apple. En informatique, un bug (prononcé en français : ) ou bogue est un défaut de conception d'un programme informatique à l'origine d'un dysfonctionnement. La gravité du dysfonctionnement peut aller de bénigne, causant par exemple des défauts d'affichage mineurs à majeure, tels un plantage du système pouvant entraîner de graves accidents, par exemple la destruction en vol de la première fusée Ariane 5, en 1996. Un bug peut résider dans une application, dans les logiciels tiers utilisés par cette application, voire dans le firmware d'un composant matériel comme ce fut le cas du bug de la division du Pentium. Un patch est un morceau de logiciel destiné à corriger un ou plusieurs bugs. Les bugs sont une des causes de dysfonctionnement des appareils informatiques ; parmi les autres causes de dysfonctionnement, on trouve : Les erreurs de manipulation, les virus informatiques — des logiciels malveillants qui falsifient les logiciels présents dans l'appareil. Mais aussi le dépassement des capacités du matériel - mémoire pleine, réseau saturé, processeur occupé - ainsi que l'absence de compatibilité, les pannes du matériel informatique, les valeurs incorrectes des paramètres de configuration et les influences extérieures (température et champs magnétiques). Un bug peut provoquer un plantage c'est-à-dire un arrêt inattendu d'un logiciel voire d'importantes pertes d'informations ou dans des cas extrêmes une véritable catastrophe (voir explosion du vol 501 de la fusée Ariane 5). Une faille de sécurité est un défaut mineur qui ne provoque pas de dysfonctionnement en utilisation courante, mais permet à un utilisateur malicieux ou un logiciel malveillant d'effectuer des opérations non autorisées à partir d'un exploit. Un système critique est un dispositif informatique dont le dysfonctionnement peut mettre en danger la santé et la vie des gens et des écosystèmes, provoquer des importants dégâts matériels ou avoir des répercussions sur la stabilité économique et politique.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (6)
CS-510: Topics in software security
Memory corruption and type safety flaws dominate the threat landscape. We will approach current research from three dimensions: sanitization (finding flaws through runtime monitors); fuzzing (testing
CS-412: Software security
This course focuses on software security fundamentals, secure coding guidelines and principles, and advanced software security concepts. Students learn to assess and understand threats, learn how to d
COM-301: Computer security and privacy
This is an introductory course to computer security and privacy. Its goal is to provide students with means to reason about security and privacy problems, and provide them with tools to confront them.
Afficher plus
Séances de cours associées (31)
Catastrophes, succès et invariants inductifs
Explore les catastrophes logicielles, les vérifications réussies, les systèmes de transition et les invariants dans les systèmes.
Contrôle fin: Babyfoot
Présente un projet de baccalauréat sur le développement d'un programme pour un contrôle précis du ballon dans un jeu de babyfoot.
Bugs Web et logiciels
Explore les vulnérabilités dans les applications web et logicielles, en discutant le contrôle d'accès cassé, les défauts d'injection, et les stratégies de défense comme DEP et ASLR.
Afficher plus
Publications associées (75)

Developments and applications of the OPTIMADE API for materials discovery, design, and data exchange

Nicola Marzari, Giovanni Pizzi, Sara Bonella, Kristjan Eimre, Andrius Merkys, Casper Welzel Andersen, Gian-Marco Rignanese, Ji Qi

The Open Databases Integration for Materials Design (OPTIMADE) application programming interface (API) empowers users with holistic access to a growing federation of databases, enhancing the accessibility and discoverability of materials and chemical data. ...
Royal Soc Chemistry2024

Silent Bugs Matter: A Study of Compiler-Introduced Security Bugs

Mathias Josef Payer, Jianhao Xu

Compilers assure that any produced optimized code is semantically equivalent to the original code. However, even "correct" compilers may introduce security bugs as security properties go beyond translation correctness. Security bugs introduced by such corr ...
Berkeley2023

Arvin: Greybox Fuzzing Using Approximate Dynamic CFG Analysis

Mathias Josef Payer, Sirus Shahini

Fuzzing has emerged as the most broadly used testing technique to discover bugs. Effective fuzzers rely on coverage to prioritize inputs that exercise new program areas. Edge-based code coverage of the Program Under Test (PUT) is the most commonly used cov ...
ASSOC COMPUTING MACHINERY2023
Afficher plus
Concepts associés (44)
Lint (logiciel)
lint (en lettres minuscules ; de l'anglais lint : « touffe hirsute » ) est une commande UNIX de préprocesseur permettant l’analyse statique de code source en langage C. L'utilitaire lint a été l'un des premiers outils d'analyse statique de code source. Sa création visait à remédier aux faiblesses des compilateurs des années 1970-1980, qui présupposaient que les programmes ne comportaient que des erreurs ponctuelles et n'effectuaient que des vérifications rudimentaires.
Debugging
In computer programming and software development, debugging is the process of finding and resolving bugs (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve interactive debugging, control flow analysis, unit testing, integration testing, , monitoring at the application or system level, memory dumps, and profiling. Many programming languages and software development tools also offer programs to aid in debugging, known as debuggers.
Le Mythe du mois-homme
Le Mythe du mois-homme (titre original : The Mythical Man-Month: Essays on Software Engineering) est un livre de Frederick Brooks considéré comme un classique dans le domaine du génie logiciel. Le titre de l'ouvrage fait référence à une unité de coût de développement : le mois-homme ou plus communément l'homme-mois, c'est-à-dire le travail d'un homme pendant un mois.
Afficher plus