Software verification is a discipline of software engineering, programming languages, and theory of computation whose goal is to assure that software satisfies the expected requirements. A broad definition of verification makes it related to software testing. In that case, there are two fundamental approaches to verification: Dynamic verification, also known as experimentation, dynamic testing or, simply testing. - This is good for finding faults (software bugs). Static verification, also known as analysis or, static testing - This is useful for proving the correctness of a program. Although it may result in false positives when there are one or more conflicts between the process a software really does and what the static verification assumes it does. Under the ACM Computing Classification System, software verification topics appear under "Software and its engineering", within "Software creation", whereas Program verification also appears under Theory of computation under Semantics and reasoning, Program reasoning. Dynamic verification is performed during the execution of software, and dynamically checks its behavior; it is commonly known as the Test phase. Verification is a Review Process. Depending on the scope of tests, we can categorize them in three families: Test in the small: a test that checks a single function or class (Unit test) Test in the large: a test that checks a group of classes, such as Module test (a single module) Integration test (more than one module) System test (the entire system) Acceptance test: a formal test defined to check acceptance criteria for a software Functional test Non functional test (performance, stress test) The aim of software dynamic verification is to find the errors introduced by an activity (for example, having a medical software to analyze bio-chemical data); or by the repetitive performance of one or more activities (such as a stress test for a web server, i.e. check if the current product of the activity is as correct as it was at the beginning of the activity).

À 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-550: Formal verification
We introduce formal verification as an approach for developing highly reliable systems. Formal verification finds proofs that computer systems work under all relevant scenarios. We will learn how to u
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
MICRO-406: Products design & systems engineering
This course will cover all the aspects of product design and system engineering from learning relevant methods to the actual implementation in a hands-on practice of product development.
Afficher plus
Séances de cours associées (29)
Tutoriel en acier inoxydable: Vérification du code Scala
Couvre l'utilisation de Stainless, un outil de vérification pour Scala, pour assurer l'exactitude du code Scala.
Qu’est-ce que la vérification formelle?
Introduit la vérification formelle et ses avantages par rapport aux méthodes de test traditionnelles, en discutant de la démonstration automatique des théorèmes et en compilant les déclarations d'exactitude dans des conditions de vérification.
Étude de cas Ariane 501
Analyse l'étude de cas Ariane 501, en se concentrant sur les erreurs logicielles et les complexités du système qui ont conduit à un échec de lancement.
Afficher plus
Publications associées (38)

On Verified Scala for STIX File System Embedded Code using Stainless

Viktor Kuncak, Jad Hamza

We present an approach for using formal methods in embedded systems and its evaluation on a case study. In our approach, the developers describe the system in a restricted subset of the high-level programming language Scala. We then use 1) a verification s ...
2022

Ontology-centric industrial requirements validation for aircraft assembly system design

Jinzhi Lu, Xiaochen Zheng

The development of an aircraft industrial system faces the challenge of integrative requirements validation with de-correlated modelling languages and distributed proprietary formats. This paper specifies an ontology-centric industrial requirements validat ...
ELSEVIER2022

Similarity conditions and cube model tests of snow drift and precipitation preferential deposition patterns

Michael Lehning, Borui Zhang, Qingwen Zhang

We explore the process of modeling aeolian snow transport around buildings by proposing a set of similarity requirements on simulating a single snow fall event with drifting. The similarity criteria are used to guide our wind tunnel tests from the particle ...
ELSEVIER2021
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.