VALIDATION AND VERIFICATION METHODS OF SOFTWARE


In this provide a summary of the validation and authentication methods used for the software to introduce the system.
·        Static vs. Dynamic
Verification and validation procedures can be summarized into two main categories: static and dynamic. While both have their advantages, the best choice will depend has to be added in the type of coverage. Static methods, such as model checking, check the requirements and design implementation for testing accuracy without time pressure. Although it is good for logic control, these methods are not for the timing, which is important for real-time embedded systems. Here is where dynamic techniques. Dynamic methods use time to model how a system will behave. A combination of both approaches full coverage for each system.
·        Static Analysis
This method, known more formally, known as code review, is a static method that helps uncover missing, obsolete, defective or unwanted functionality. The method analyzes the program without running it. When used early in development, it helps to ensure quality programming and reduces unnecessary mistakes. There are two types of static analysis: walkthrough and inspection. During a walkthrough, the implementation object is simulated; then test data step by step to explore difficult algorithmic solutions. Inspection is a more technical review code. Static analysis is often used for testing and set-up of the system.
·        Formal Methods
For more logic-based verification and validation procedures, it is proposed the use of formal methods. Formal methods are to use mathematics to prove the correctness of a system. The two main methods are formal model checking and Evidence. Although these methods are very useful, they can be difficult to use because they require extensive knowledge of advanced mathematical techniques. Both methods since the early computer systems are becoming increasingly popular with leading software companies. Perhaps it is because they are always user friendly and some of the best when it comes to detecting logical errors.
·        Model Checking

Model checking, model - for example, a prototype or finite automata, is used to describe an operating system. Then, a specific feature of the system is changed to a logic function and the model will be examined to verify that this feature. Model checking is good for necessary testing, finding a disagreement within the system and detection modules orphaned or inaccessible.
·        Theorem Proving

Built in the 70s by Tony Hoare and Edsger Dijkstra, evidence proves to fulfil the accuracy of a system in a statement. Proving users to find a prerequisite and executable code on a pole fitness. The theorem states that if a condition is true before the program is executed, then the post-condition must be true. Since evidence of such extreme uses math and logic, it is rarely used as a method of authentication. It is also a time-consuming process, because the user encloses the process.
·        Simulation
Dynamic simulation techniques begin. Simulation exact reproduction of the software, and allows users to test whether the software is correct. They can be used with a large model, without having to worry about the state space explosion. Simulations use one of the more convenient ways and one of the most popular; but do not offer as robust set of other methods.
·        Prototyping and Emulation
Prototyping and emulation are taking simulations to the next level. They constitute, therefore, a representation of the current program, and provide near accurate results. They are executed are placed in the speed and real-life environment and real-life situations. Prototyping and emulation have a number of disadvantages. They are time-consuming to make, and can be expensive because they have to fit close to the current system. Also, they cannot do with the original design of the system is fulfilled, postpone important test.
·        Integration Testing
While integration testing is not usually classified as a verification or validation procedure, it is still an important part of the testing of an installed system. Therefore, it is listed as a current process. Integration testing is important because it not only ensures that working together the hardware and software, but also ensures that the system is well integrated as a whole. It also allows many different types of errors.

Comments