Test (informatique)vignette|Une programmeuse écrivant du code Java avec JUnit. En informatique, un test désigne une procédure de vérification partielle d'un système. Son objectif principal est d'identifier un nombre maximal de comportements problématiques du logiciel. Il permet ainsi, dès lors que les problèmes identifiés seront corrigés, d'en augmenter la qualité. D'une manière plus générale, le test désigne toutes les activités qui consistent à rechercher des informations quant à la qualité du système afin de permettre la prise de décisions.
Functional verificationFunctional verification is the task of verifying that the logic design conforms to specification. Functional verification attempts to answer the question "Does this proposed design do what is intended?" This is complex and takes the majority of time and effort (up to 70% of design and development time) in most large electronic system design projects. Functional verification is a part of more encompassing design verification, which, besides functional verification, considers non-functional aspects like timing, layout and power.
SynopsysSynopsys est une entreprise américaine spécialisée dans le développement de logiciels destinés principalement aux fabricants de semi-conducteurs, d'ordinateurs et d'équipements électroniques. On peut les regrouper en différentes catégories : La simulation avec VCS L’émulation avec Zebu-Server La synthèse logique et l'insertion de test avec Design Compiler L'analyse de timing avec PrimeTime La génération de séquences de test scan avec TetraMAX La synthèse physique et le placement routage avec la suite Astro L'analyse statique de code source avec Coverity Prevent.
Hardware emulationIn integrated circuit design, hardware emulation is the process of imitating the behavior of one or more pieces of hardware (typically a system under design) with another piece of hardware, typically a special purpose emulation system. The emulation model is usually based on a hardware description language (e.g. Verilog) source code, which is compiled into the format used by emulation system. The goal is normally debugging and functional verification of the system being designed.
Nombre cyclomatiqueLe nombre cyclomatique, la complexité cyclomatique ou la mesure de McCabe est un outil de métrologie logicielle développé par Thomas McCabe en 1976 pour mesurer la complexité d'un programme informatique. Cette mesure reflète le nombre de décisions d'un algorithme en comptabilisant le nombre de « chemins » linéairement indépendants au travers d'un programme représenté sous la forme d'un graphe. La complexité cyclomatique d'un programme structuré est définie par : où : M = complexité cyclomatique ; E = le nombre d'arêtes du graphe ; N = le nombre de nœuds du graphe ; P = le nombre de composantes connexes du graphe.
Test oracleIn computing, software engineering, and software testing, a test oracle (or just oracle) is a mechanism for determining whether a test has passed or failed. The use of oracles involves comparing the output(s) of the system under test, for a given test-case input, to the output(s) that the oracle determines that product should have. The term "test oracle" was first introduced in a paper by William E. Howden. Additional work on different kinds of oracles was explored by Elaine Weyuker.
Algorithme de Monte-CarloEn algorithmique, un algorithme de Monte-Carlo est un algorithme randomisé dont le temps d'exécution est déterministe, mais dont le résultat peut être incorrect avec une certaine probabilité (généralement minime). Autrement dit un algorithme de Monte-Carlo est un algorithme qui utilise une source de hasard, dont le temps de calcul est connu dès le départ (pas de surprise sur la durée du calcul), cependant dont la sortie peut ne pas être la réponse au problème posé, mais c'est un cas très rare.
Formal equivalence checkingFormal equivalence checking process is a part of electronic design automation (EDA), commonly used during the development of digital integrated circuits, to formally prove that two representations of a circuit design exhibit exactly the same behavior. In general, there is a wide range of possible definitions of functional equivalence covering comparisons between different levels of abstraction and varying granularity of timing details.
Langage LadderLadder Diagram (LD) ou Langage Ladder ou schéma à contacts est un langage graphique très populaire auprès des automaticiens pour programmer les automates programmables industriels. Il ressemble un peu aux schémas électriques, et est facilement compréhensible. Ladder est le mot anglais pour échelle. L'idée initiale du Ladder est la représentation de fonction logique sous la forme de schémas électriques. Cette représentation est originellement matérielle : quand l'automate programmable industriel n'existait pas, les fonctions étaient réalisées par des câblages.
Cryptoprocesseur sécuriséUn cryptoprocesseur sécurisé est un processeur optimisé pour les tâches de cryptographie (exponentiation modulaire, chiffrement DES, etc.) incorporé avec de multiples mesures de sécurité physique, ce qui lui confère une certaine résistance à l'effraction. Contrairement aux processeurs cryptographiques qui émettent des données décryptées sur un bus dans un environnement sécurisé, un cryptoprocesseur sécurisé ne produit pas de données décryptées ou d'instructions de programme décryptées dans un environnement où la sécurité ne peut pas toujours être maintenue.