Methods of Software Verification

<p>This article is devoted to the problem of software verification (SW). Methods of software verification designed to check the software for compliance with the stated requirements such as correctness, system security and system adaptability to small changes in the environment, portability and...

Full description

Bibliographic Details
Main Authors: R. E. Gurin, I. V. Rudakov, A. V. Rebrikov
Format: Article
Language:Russian
Published: MGTU im. N.È. Baumana 2015-01-01
Series:Nauka i Obrazovanie
Subjects:
Online Access:http://technomag.edu.ru/jour/article/view/158
id doaj-186f4bb0d82443c58ce75d6965d03ef5
record_format Article
spelling doaj-186f4bb0d82443c58ce75d6965d03ef52020-11-24T21:54:36ZrusMGTU im. N.È. BaumanaNauka i Obrazovanie1994-04082015-01-0101023525110.7463/1015.0823129158Methods of Software VerificationR. E. Gurin0I. V. Rudakov1A. V. Rebrikov2Bauman Moscow State Technical UniversityBauman Moscow State Technical UniversityBauman Moscow State Technical University<p>This article is devoted to the problem of software verification (SW). Methods of software verification designed to check the software for compliance with the stated requirements such as correctness, system security and system adaptability to small changes in the environment, portability and compatibility, etc. These are various methods both by the operation process and by the way of achieving result. The article describes the static and dynamic methods of software verification and paid attention to the method of symbolic execution. In its review of static analysis are discussed and described the deductive method, and methods for testing the model. A relevant issue of the pros and cons of a particular method is emphasized. The article considers classification of test techniques for each method. In this paper we present and analyze the characteristics and mechanisms of the static analysis of dependencies, as well as their views, which can reduce the number of false positives in situations where the current state of the program combines two or more states obtained both in different paths of execution and in working with multiple object values. Dependences connect various types of software objects: single variables, the elements of composite variables (structure fields, array elements), the size of the heap areas, the length of lines, the number of initialized array elements in the verification code using static methods. The article pays attention to the identification of dependencies within the framework of the abstract interpretation, as well as gives an overview and analysis of the inference tools.</p><p>Methods of dynamic analysis such as testing, monitoring and profiling are presented and analyzed. Also some kinds of tools are considered which can be applied to the software when using the methods of dynamic analysis. Based on the work a conclusion is drawn, which describes the most relevant problems of analysis techniques, methods of their solutions and at what stages of development it is advisable to use one or another method.</p>http://technomag.edu.ru/jour/article/view/158analysisstaticdynamicinterpretationsymbolic executionmodel checking
collection DOAJ
language Russian
format Article
sources DOAJ
author R. E. Gurin
I. V. Rudakov
A. V. Rebrikov
spellingShingle R. E. Gurin
I. V. Rudakov
A. V. Rebrikov
Methods of Software Verification
Nauka i Obrazovanie
analysis
static
dynamic
interpretation
symbolic execution
model checking
author_facet R. E. Gurin
I. V. Rudakov
A. V. Rebrikov
author_sort R. E. Gurin
title Methods of Software Verification
title_short Methods of Software Verification
title_full Methods of Software Verification
title_fullStr Methods of Software Verification
title_full_unstemmed Methods of Software Verification
title_sort methods of software verification
publisher MGTU im. N.È. Baumana
series Nauka i Obrazovanie
issn 1994-0408
publishDate 2015-01-01
description <p>This article is devoted to the problem of software verification (SW). Methods of software verification designed to check the software for compliance with the stated requirements such as correctness, system security and system adaptability to small changes in the environment, portability and compatibility, etc. These are various methods both by the operation process and by the way of achieving result. The article describes the static and dynamic methods of software verification and paid attention to the method of symbolic execution. In its review of static analysis are discussed and described the deductive method, and methods for testing the model. A relevant issue of the pros and cons of a particular method is emphasized. The article considers classification of test techniques for each method. In this paper we present and analyze the characteristics and mechanisms of the static analysis of dependencies, as well as their views, which can reduce the number of false positives in situations where the current state of the program combines two or more states obtained both in different paths of execution and in working with multiple object values. Dependences connect various types of software objects: single variables, the elements of composite variables (structure fields, array elements), the size of the heap areas, the length of lines, the number of initialized array elements in the verification code using static methods. The article pays attention to the identification of dependencies within the framework of the abstract interpretation, as well as gives an overview and analysis of the inference tools.</p><p>Methods of dynamic analysis such as testing, monitoring and profiling are presented and analyzed. Also some kinds of tools are considered which can be applied to the software when using the methods of dynamic analysis. Based on the work a conclusion is drawn, which describes the most relevant problems of analysis techniques, methods of their solutions and at what stages of development it is advisable to use one or another method.</p>
topic analysis
static
dynamic
interpretation
symbolic execution
model checking
url http://technomag.edu.ru/jour/article/view/158
work_keys_str_mv AT regurin methodsofsoftwareverification
AT ivrudakov methodsofsoftwareverification
AT avrebrikov methodsofsoftwareverification
_version_ 1725866979008446464