Верификация как метод исследования доклад

Обновлено: 02.07.2024

Введение
Проблематика теории познания, и, прежде всего проблемы формирования и развития научного знания, пути постижения истины, вопросы методологии научного поиска продолжают оставаться актуальными и находятся в центре внимания современной науки.

Бум, который начался в области истории и методологии науки в Западной философии в 1960-х годах, продолжается до сих пор. Об этом свидетельствует, например, непрекращающиеся дискуссии по проблемам взаимосвязи науки и философии, основании научного знания, принципу верификации [1] научных гипотез, формирования и развития теории, научной рациональности, критерий истины и научности и т. п.

1 Проблема истинности

Знание есть отражение и существует в виде чувственного или понятийного образца – вплоть до теории как целостной системы. Известно, что образ может быть не только отражением наличного бытия, но также и прошлого, запечатленного в каких-то средах, несущих информацию. А будущее – может ли оно быть объектом отражения? Можно ли оценить как истинную идею, выступающую в виде замысла, конструктивной мысли, ориентированной на будущее? Видимо, нет. Разумеется замысел строится на знании прошлого и настоящего. И в этом смысле он опирается на нечто истинное. Но можно ли сказать о самом замысле, что он истинен? Или здесь скорее адекватны такие понятия, как целесообразное, реализуемое, полезное – общественно полезное или полезное для какого-то класса, социальной группы, отдельной личности? Замысел оценивается не в терминах истинности или ложности, а в целях целесообразности и реализуемости.

Таким образом, истину определяют как адекватное отражение объекта познающим субъектом, воспроизводящее реальность такой, какова она есть сама по себе, вне и независимо от сознания. Это объективное содержание чувственного, эмпирического опыта, а также понятий, суждений, теорий, учений и, наконец, всей целостной картины мира в динамике его развития. То, что истина есть адекватное отражение реальности в динамике ее развития, придает ей особую ценность, связанную с прогностическим изменением. Истинные знания дают людям возможность разумно организовывать свои практические действия в настоящем и предвидеть грядущее. Если бы познание с самого своего возникновения не было бы истинным отражением действительности, то человек не мог бы не только разумно преобразовывать окружающий мир, но и приспособиться к нему. Сам факт существования человека, история науки и практики подтверждают справедливость этого положения.

Но человечество редко достигает истины иначе, как через крайности и заблуждения. Процесс познания – негладкий путь. По словам Д. И. Писарева, для того чтобы один человек открыл плодотворную истину, надо, чтобы сто человек испепелили свою жизнь в неудачных поисках и печальных ошибках. История науки повествует даже о целых столетиях, в течение которых за истину принимались неверные положения. Заблуждение представляет собой нежелательный, но правомерный зигзаг на пути к истине.

Научное познание по самой своей сути невозможно без столкновения различных, порой противоположных воззрений, борьбы убеждений, мнений, дискуссий, так же невозможно и без заблуждений, ошибок. Проблема ошибок занимает далеко не последнее место в науке. В исследовательской практике ошибки нередко совершаются в ходе наблюдения, измерения, расчетов, суждений, оценок. Как утверждал Галилей, избегнуть ошибок при наблюдении просто невозможно.

2 Критерии истинного познания

Что дает людям гарантию истинности их знаний, служит основанием для отличения истины от заблуждения и ошибок?

Такое понимание критерия истинности полно глубокомыслия. Оно опирается на веру в силу логики нашего мышления, достоверность восприятия им реальности. На этом во многом построен наш опыт. Это сильная позиция в борьбе против всякого рода блужданий разума в потемках вымышленного. Очевидность ощущаемого и мысленного играет не последнюю роль в установлении истины, но не может, однако, служить единственным её критерием.

Выдвигался и такой критерий истины, как общезначимость: истинно то, что соответствует мнению большинства. Разумеется, и в этом есть свой резон: если многие убеждены в достоверности тех или иных принципов, то это само может служить важной гарантией против заблуждения.

Однако ещё Демокрит заметил, что вопрос об истинности не разрешается большинством голосов. Из истории науки мы знаем, что первооткрыватели, как правило, отстаивая свою истину, оставались в одиночестве. Вспомним хотя бы Коперника: он один был прав, тогда как остальные пребывали в заблуждении относительно вращения Земли вокруг Солнца. Смешно было ставить на голосование в научном сообществе вопрос об истинности или ложности того или иного утверждения.

При этом эмпирическая эпистемология наделялась статусом основания научного знания, т.е. логические позитивисты были уверены, что эмпирический базис научного знания формируется исключительно на основе языка наблюдения. Отсюда и общая методологическая установка, предполагающая редукцию теоретических суждений к высказываниям наблюдения.

а) аналитическим (более точно — логически истинным или логически ложным);

б) эмпирически проверяемым, или в) бессмысленным., т.е. не действительным положением, а псевдоположением.

Принцип верификации, предложенный позитивистами, предусматривал признание обладающими научной значимостью только те знания, содержание которых можно обосновать протокольными предложениями. Поэтому факты науки в доктринах позитивизма абсолютизируются, обладают приматом перед другими элементами научного знания, ибо, по их мнению они определяют содержательный смысл и истинность теоретических предложений.

4 Ограниченность верификационного критерия
Верификационный критерий теоретических утверждений скоро заявил о себе своей ограниченностью, вызвав многочисленную критику в свой адрес. Узость метода верификации прежде всего сказалась на философии, ибо оказалось, что философские предложения неверифицируемые, так как лишены эмпирического значения. На эту сторону недостатка доктрины логического позитивизма указывает Х. Патнэм [4] .

Первым, кто обратил на слабость позитивистской доктрины логического анализа научных знаний, был К. Поппер. Он заметил, в частности, что наука в основном имеет дело с идеализированными объектами, которые, с точки зрения позитивистского понимания научного познания, не могут быть верифицированы с помощью протокольных предложений, а значит, объявляются бессмысленными. Кроме того, неверифицируемы многие законы науки, выражаемые в форме предложений типа. Минимальная скорость, необходимая для преодоления земного тяготения и выхода в околоземное пространство, равна 8 км/сек. [5] , так как для их верификации требуется множество частных протокольных предложений. Под влиянием критики логический позитивизм ослабил свою позицию введя положение в свою доктрину о частной эмпирической подтверждаемости. Отсюда логически следовало, что достоверностью обладают лишь эмпирические термины и предложения, выраженные с помощью этих терминов, другие понятия и предложения, имеющие непосредственное отношение к законам науки, признавались осмысленными (подтверждаемыми) в силу их способности выдержать частичную верификацию.

Таким образом, усилия позитивизма применить логический аппарат к анализу знания, выражаемых в форме повествовательных предложений, не привели к научно значимым результатам; они столкнулись такими проблемами, разрешить которых нельзя было в рамках принятого им редукционистского подхода к познанию и знанию.

В частности, не ясно, почему не все утверждения науки становятся базисными, а только некоторые? Каков критерий их отбора? Каковы их эвристические возможности и гносеологические перспективы? Каков механизм архитектоники научного знания?

5 Критерий фальсификации К.Поппера
К. Поппер предложил другой критерий истинности научного утверждения – фальсификации.

Объявив задачей методологии изучение механизмов роста научного знания, Поппер основывается на понятой и воспринятой реальности, из которой состоит сфера научного познания. По его глубокому убеждению, наука не может иметь дело с истинной, ибо научно-исследовательская деятельность сводится к выдвижению гипотез о мире, предположений и догадок о нем, построению вероятностных теорий, и законов; таков общий путь познания мира и приспособления наших представлений о нем. Поэтому было бы, мягко говоря, несерьезно какие-то из этих представлений принимать за истинных, а от каких-то отказаться, т.е. нет универсального механизма, который бы мог выявить из многообразия существующих знаний какие из них истинные, а какие являются ложными.

На первый взгляд это положение воспринимается как бессмыслица: если выяснилось бы, что все те наши умозрительные конструкции, которые мы строим относительно мира опровергаются нашим же эмпирическим опытом, то, исходя их здравого смысла, следовало бы их признать ложными и выбрасывать как несостоятельные. Однако попперовские рассуждения строятся на ином логическом смысле.

Доказать можно все, что угодно. Именно в этом проявлялось, например, искусство софистов. Поппер считает, что научные положения, констатирующие о наличие материальных объектов, относятся не к классу подтверждаемых опытом, а, наоборот, — опровергаемых опытом, ибо логика мироустройства и нашего мышления подсказывает нам, что научные теории, опровергаемые фактами, действительно несут в себе информацию об объективно существующем мире.

Этот же методологический механизм, позволяющий в научном познании приблизиться к истине, т.е. принцип фальсификации теорий, путем их опровержения фактами, принимается Поппером в качестве критерия демаркации описательных (эмпирических) наук (от теоретических и от самой философии [7] , отвергая тем самым неопозитивистские критерии демаркации (индукцию и верифицируемость).

а) Представления о мире, принимаемые в науке как знания о нем, не являются истинами, ибо не существует такого механизма, который бы мог установить их истинность, но существует способ обнаружить их ошибочность;

б) в науке лишь те знания соответствуют критериям научности, которые выдерживают процедуру фальсификации;

Данная структура – это структура осмысленная и принятая на мировоззренческом уровне самим Поппером и реализованная им в науке. Однако поэтому влияние мировоззренческих убеждений на создаваемую мыслителем модель развития науки.

Под удовлетворительной теорией мыслитель подразумевает новую теорию, способную выполнить несколько условий: во-первых, объяснить факты двоякого рода: с одной стороны, те факты, с которыми успешно справлялись прежние теории и, с другой — те факты, которых не смогли объяснить эти теории; во-вторых, найти удовлетворительное истолкование тем опытным данным, согласно которым были фальсифицированы существовавшие теории; в-третьих, интегрировать в одну целостность проблемы – гипотезы, несвязанные между собой; в-четвертых, новая теория должна содержать проверяемые следствия; в-пятых, сама теория так же должна быть способной выдержать процедуру строгой проверки [11] . Поппер считает, что такая теория не только плодотворна в решении проблем, но даже обладает в определенной степени эвристической возможностью, что может служить свидетельством успешности познавательной деятельности.

Логическая модель Поппера предполагает новую концепцию развития. Необходимо отказаться от поиска идеала, окончательно верного решения, и искать оптимальное, удовлетворительное решение.

Заключение
В истории науки было предложено два принципа позволяющих провести границу между научными теориями и тем, что наукой не является.

Первый принцип – принцип верификации: любое понятие или суждение имеет научный смысл если оно может быть сведено к эмпирически проверяемой форме, или оно само не может иметь такой формы, то эмпирическое подтверждение должны иметь ее следствия, одна принцип верификации применим ограниченно, в некоторых областях современной науки его использовать нельзя.

Американский философ К. Поппер предложил другой принцип – принцип фальсификации, в его основе лежит тот факт, что прямое подтверждение теории часто затруднено невозможностью учесть все частные случаи ее действия, а для опровержения теории достаточно всего одного случая с ней не совпадающего, поэтому если теория сформулирована так, что ситуация в которой она будет опровергнута может существовать, то такая теория является научной. Теория неопровержимая в принципе не может быть научной.

Список использованной литературы
1. Абрамов М. А. Открытое общество и его враги в России. - Путь. Международный философский журнал, №6, 1994.

2. Грязнов Б.С. Философия науки К. Поппера. - М., 1982.

3. Кузина Е.Б. Антииндуктивизм в эпистемологии Карла Поппера. - Философские науки, №3, 1978.

4. Нарский И.С. Современная буржуазная философия: два ведущих течения начала 80-х годов XX века. - М., 1987.

5. Овчинников Н.Ф. Карл Поппер, наш современник, философ XX века. - Вопросы философии, №8, 1992.

6. Овчинников Н.Ф. Об интеллектуальной биографии Поппера. - Вопросы философии, №11, 1995.

7. Поппер К. Логика социальных наук. - Вопросы философии, №10, 1992.

8. Поппер К. Логика и рост научного знания. – М., 1983.

9. Садовский В.Н. Карл Поппер, Гегелевская диалектика и формальная логика. - Вопросы философии, №1, 1995.

10. Садовский В.Н. О Карле Поппере и судьбе его учения в России. - Вопросы философии, №10, 1995.

11. Смирнов В.А. К. Поппер прав: диалектическая логика невозможна. - Вопросы философии, №1, 1995.

12. Сокулер З.А. Проблемы обновления знания: гносеологические концепции Л. Витгенштейна и К. Поппера. – М., 1988.

Достоверность научных знаний. В процессе развития естествознания всегда возникал и возникает вопрос о достоверности научных результатов и качестве работы ученого. Приходится констатировать, что научная продукция на своем пути к истине переполнена ошибочными результатами. Для проверки качества научной продукции производится ее контроль: экспертиза, рецензирование и оппонирование. Каждый из них направлен на определение достоверности научных результатов. Вместе с тем следует признать, что экспертиза, рецензирование и оппонирование далеки от совершенства. В науке и, в особенности, в естествознании есть внутренние механизмы самоочищения.

Файлы: 1 файл

Способы проверки достоверности научной информации в научном исследовании.doc

Способы проверки достоверности научной информации в научном исследовании.

Достоверность научных знаний. В процессе развития естествознания всегда возникал и возникает вопрос о достоверности научных результатов и качестве работы ученого. Приходится констатировать, что научная продукция на своем пути к истине переполнена ошибочными результатами. Для проверки качества научной продукции производится ее контроль: экспертиза, рецензирование и оппонирование. Каждый из них направлен на определение достоверности научных результатов. Вместе с тем следует признать, что экспертиза, рецензирование и оппонирование далеки от совершенства. В науке и, в особенности, в естествознании есть внутренние механизмы самоочищения. Результаты интересные, полезные, нужные и важные волей-неволей всегда проверяются и многократно. Следует признать, что существующие способы контроля научной продукции малоэффективны, и для науки контроль не столь важен, может быть, в сущности, не нужен. Контроль нужен в большей степени обществу, государству, чтобы не тратить деньги на бесполезную работу исследователей. Большое количество ошибок в научной продукции говорит о том, что приближение к научной истине – сложный и трудоемкий процесс, требующий усилий многих ученых в течение длительного времени.

Одной из основ является обоснованность и достоверность научных положений, выводов и рекомендаций. Необходимо доказать, что изложенные в исследовании положения, выводы и рекомендации являются достоверными, то есть объективно существуют, а не являются следствием ошибочных построений и умозаключений соискателя.

Для подтверждения достоверности могут использоваться различные способы. Во - первых в работе должна быть подтверждена достоверность информации об исследуемом предмете. Это подтверждение базируется на всестороннем анализе выполненных ранее научно-исследовательских работ по предмету исследования, применением в исследованиях апробированного научно-методического аппарата.

Достоверность может подтверждаться верификацией, то есть при осуществлении аналогичных работ на многих объектах подтверждение того же результата.
Кроме того, существуют следующие методы доказательств достоверности: аналитические, экспериментальные и подтверждение практикой.
Аналитические методы проверки достоверности применяются при наличии в исследованиях математических моделей (экономико-математические, социальные и др.), которые позволяют математически описать исследуемые процессы.
Экспериментальные методы проверки достоверности осуществляются путем сравнения теоретических и экспериментальных результатов.
При подтверждении научных результатов практикой рассматривается совпадение явлений в практике с построенными теоретическими положениями.
Кроме того, достоверность подтверждается наличием и объемом исходного материала и апробацией результатов исследований в практике.

Известно несколько критериев разграничения научных и псевдонаучных идей - это:

  1. Принцип верификации. Принцип употребляется в логике и методологии науки для установления истинности научных утверждений в результате их эмпирической проверки.
    • непосредственную верификацию - как прямую проверку утверждений, формулирующих данные наблюдения и эксперимента;
    • косвенную верификацию - как установление логических отношений между косвенно верифицируемыми утверждениями.

    Принцип верификации позволяет в первом приближении ограничить научное знание от явно вненаучного. Однако он не может помочь там, где система идей скроена так, что решительно все возможные эмпирические факты можно истолковать в ее пользу - идеология, религия, астрология и т. п.

    verification.jpg

    Коротко - чтобы быть уверенным, что лаборатория способна выдать достоверные результаты аналиа по этой методике.

    Проведение верификации методик предусмотрено ISO 17025, ведущими фармакопеями и правилами GMP:

    Лаборатория должна подтвердить, что она может правильно использовать стандартные методики, прежде чем приступить к испытаниям

    п. 5.4.2 ГОСТ ИСО/МЭК 17025-2009

    Лаборатория, которая использует методику испытаний и которая не выполняла ее первоначальную валидацию, должна верифицировать пригодность методики

    Литература по верификации

    Видео про верификацию (примеры)

    Шаблон протокола верификации для химической лаборатории


    Вопрос-ответ

    Кто несет ответственность за верификацию? Ваш шаблон гарантирует что этого эксперимента достаточно?

    Ответственность за достоверность выдаваемых результатов в полном объеме несет лаборатория - ее руководитель и специалисты лично. А верификация (наряду с валидацией и контролем качества) - важный элемент обеспечения достоверности анализа (QA).

    В шаблоне приведен минимальный, с нашей точки зрения объем эксперимента. Уверенно можем сказать - что лучше верификация в малом объеме, чем никакой верификации.

    Мы не аккредитованная лаборатория. Нам все равно надо делать верификацию?

    Любая лаборатория, даже не аккредитованная, несет полную ответственность за выдаваемые результаты. Верификация позволяет убедиться самим, и подтвердить документально, что по данной методике лаборатория может выдавать достоверные результаты.

    Верификация - это лишние затраты!

    Верификация выгодна любому предприятию, т.к. существенно снижает риски получения недостоверных результатов, и позволяет выявить проблему на старте, а не через год работы.

    Потери от недостоверных результатов анализа (выпуск некачественной и опасной продукции, работа технологов "впустую" и др.) обычно на порядки более существенны, чем затраты на организацию нормальной работы лаборатории.

    Верификация гарантирует, что теперь у нас всегда будут достоверные результаты?

    Нет. Верификация - лишь один из элементов обеспечения достоверности анализа (QA).

    Чтобы быть уверенным что и дальше результаты выдаются достоверные, проводят контроль качества и множество других процедур.

    Хорошая книга - Причард Э., Барвик В. Контроль качества в аналитической химии, пер. с англ. (2007 г., Quality Assurance in Analytical Chemistry) под ред. Болдырева И.В, 2014

    В СССР никаких верификаций не делали, и нормально работали!

    Делали. Только называлась это по другому: "внедрение методики", "постановка методики", "отработка методики". Эту процедуру, в соответствии современными международными рекомендациями, мы называем верификацией.

    Вы гарантируйте, что к шаблону не будет вопросов?

    Нет. Это просто пример-шаблон, чтобы доработать его под себя. Ответственность лежит на конкретной лаборатории.

    По какому ГОСТу, нормативному документу составлен этот шаблон?

    Шаблон составлен на основе нашего опыта внедрения методик, здравого смысла, с опорой на международные рекомендации Eurachem "A Laboratory Guide to Method Validation and Related Topics" и некоторые Российские документы из рекомендованного списка литературы.

    А вот в ГОСТе, РМГ написано не так!

    Любой ГОСТ в России доброволен к применению:

    добровольность применения заинтересованным лицом документов в области стандартизации и обязательность соблюдения указанным лицом требований, содержащихся в этих документах, в случае объявления об их использовании, а также в случае определения обязательности исполнения требований стандартов в рамках контрактных (договорных) обязательств

    ГОСТ Р 1.0-2012, пункт 4

    Если лаборатория приняла на себя обязательства использовать какой-то конкретный ГОСТ или РМГ (в договоре, руководстве по качеству, стандарте организации, обязательствах в рамках аккредитации, регуляторных требований, попадания в область гос. регулирования обеспечения единства измерений по ФЗ 102) - то значит надо ориентироваться на них.

    Если лаборатория не обременена обязательствами, разумно опереться на Р 50.2.060, РМГ 76, РМГ 61, Eurachem "Laboratory guide to method validation" как на справочные документы, доработав шаблон под себя.

    А почему не оценивается погрешность / неопределенность?

    Шаблон содержит минимальный, наш взгляд, объем эксперимента, чтобы можно было убедиться в нормальной работе методики, и начать работать. Делать расчет неопределенности / погрешности на основе только 3 серий измерений на наш взгляд не совсем корректно.

    Наша рекомендация - делать все поэтапно. Если, например, сейчас вообще не делается верификация, то лучше начать делать "по простому", не усложнять расчеты.

    Кто утверждает критерии верификации? Где их брать?

    Критерии приемлемости утверждает тот, кто несет ответственность за достоверность результатов анализа и верификацию - лаборатория. Правильный, обоснованный выбор критериев - ключевой вопрос, "сердце" верификации.

    Т.к верификации подвергаются только валидированные методики (для которых уже доказано, что методика позволяет получать результаты, пригодных для достоверного принятия управленческих решений по результатам анализа), разумно проверить выполнение базовых валидционных критериев (пусть в меньшем объеме): повторяемости, промежуточной прецзионности, правильности.

    Для обоснования требований к верификационным критериям есть несколько подходов:

    • Если в методике приведены значения показателей (повторяемости, промежуточной прецизионности, правильности) - проверяют в сокращенном объеме, выполняются ли они;
    • Если в методики значения показателей не приведены — запрашивают валидационный отчет, и проверяют выполнение базовых валидционных критериев (повторяемости, промежуточной прецзионности, правильности) в сокращенном объеме
    • Устанавливают требования к показателям, исходя из требований к неопределенности (погрешности). Неопределенность (погрешность) может быть прописана в методике, или определяться аналитической задачей.
    • Устанавливают требования к показателям "экспертно", исходя из опыта. Например, у продукта норма "от 9,5% до 10,5%". Чтобы делать достоверную отбраковку в этом случае, разумно потребовать СКО промежуточной прецзионности


    В статье идет речьобисследовании и классификации методов верификации программного обеспечения (ПО). Осуществлен обзор имеющихся статических методов верификации, исследованы характеристики методов и осуществлено исследование на обнаружение зависимостей в рамках метода абстрактной интерпретации. В статье показан обзор и классификация динамических методов верификации ПО. Классификация выполнена по ряду главных критериев, таких как: вид метода, уровень автоматизации, уровень функциональной применимости, точность, типы обнаруживаемых ошибок, эффективность, область соответствия метода, время выполнения и способ достижения результата. Выполнен обзор видов тестирования и средств логического вывода и рассмотрены основные особенности методов верификации. Обнаружены недостатки имеющихся способов верификации программ.

    Ключевые слова:верификация, статический анализ, динамический анализ, интерпретация, символьное выполнение, проверка модели

    Одна из главных проблем при разработке программного обеспечения является верификация программного обеспечения. Средства верификации программного обеспечения создаются специально для подтверждения требованиям заявленного конечного программного продукта, сама цель верификации программного обеспечения является обнаружение ошибок, некорректных свойств и уязвимость программы [1, с. 129–134]. Актуальной проблемой является формирование новой классификации способов верификациипрограммного обеспечения, и дает возможность рассмотреть существующие в настоящее время методы верификации ПО, обнаружить их преимущество и недостатки. Классификация и анализ существующих способов дает создать список требований и рекомендаций для будущего исследования и разработкисинтетического метода верификации программного обеспечения, по принципу SMT — решателя.

    Современные способы верификации можно поделить на эмпирические (те, которые используют экспертизу), формальные (которые используют математический аппарат верификации ПО) и формальные (которые проверяют работу программу с помощью запуска), уровни автоматизации делятся на ручные, автоматические и автоматизированные.

    Одна из главных целей верификации программного обеспечения является проверка созданного программного кода техническому заданию и ее требования функциональности [2, с. 285–288].

    Проверки документации и кода программного обеспечения с нормами и стандартам проведение оформлениями использует экспертиза, которые установлены в стране, отрасли и организации. Сама экспертиза может быть специализированной и общей.

    Понятие верификации программного обеспечения в одной из нотаций [3, с. 272] обозначает символьное выполнение программы или проверку кода на наличие ошибок и уязвимости способов проверки модели.

    Широко используется в настоящее время техника символьного выполнения [4–5, с. 68–79, 374], что позволяет проводить моделирование выполнения программы, при этом часть переменных представляются в символьном виде. Символ переменной показывает, что большинство значении входной переменны программы из области ее определения. Каждое символьное выполнение равноценно выполнению ПО, в наборе конкретных текстовых значении переменных, котороесокращает мощность множества изобретаемых тестов. Тоже самое означает альтернативная семантика исполнения программы — семантика условного выполнение для языка программирования, в котором объекты данных представлены в виде символов. Для работы с символьными значениями для этого семантика показывает пути расширения основных конструкции языков программирования.

    Главные этапы верификации программного обеспечения — это тестирование программ на пригодность провозглашенным качественным характеристикам. Самые важные характеристики ПО перечислены ниже:

    1. Корректность (аналогично системе своего назначение);
    2. Безопасность системы;
    3. Устойчивость системы в случае недетерминированного поведения окружения (например, неправильные входные данные);
    4. Эффективность использования ресурсов времени и памяти;
    5. Адаптируемость системы к небольшим преобразованиям окружения;
    6. Переносимость и совместимость.

    Экспертиза является самым популярным методом тестирование программ [2, с. 285–288]. Другими словами, это анализ ПО, проводимым экспертом, который может быть и разработчиком так же лицом, или группой лиц, привлеченных со стороны, для оценки ПО.

    Тестирование программного обеспечения выполняется группой квалифицированных специалистов, но невозможно выполнить автоматически потому, что все этапы выполняются экспертами. При том что этот способ имеет высокую функциональную пригодность и способен решать огромный круг задач тестирование программного обеспечения, при этом может быть применим к любым свойствам ПО на любом этапе тестирование программ. Качество экспертизы зависит от опыта специалистов, выполняющих ее. С помощью метода экспертизы обнаруживают от 50 до 90 % ошибок и уязвимостей ПО [7, с. 560]. Такой метод помогает обнаружить фактически любые виды ошибок и считается одним из лучших способов, но только если экспертизу проводят опытные специалисты. И самым главным преимуществом является то что тестирование возможно проводить на любом этапе разработки проекта. Срок выполнение тестирование зависит от сложности программы и опытности команды специалистов. Из чего следует, что приоритетом этого метода является возможность использовать на любом этапе проекта и быстро устранить ошибки и уязвимости.

    Формальные методы верификации — это верификация математической модели программы, а не ее исходный код. Требования к программе определяется в виде спецификации, то есть проверяется требование спецификации на модели программы. [1, с. 129–134]

    Если сравнивать с экспертизой, то формальный метод является более выгодным для авторизации процесса верификации и создание моделей программ. Для создание математической модели всегда нужен опытный специалист. Формальные методы наделены отличительной особенностью это высокой функциональной пригодностью и точностью, если только создана адекватная формальная модель.

    Изъян формального верификации — это не всегда возможность создать более адекватную математическую модель, при этом сохранить эффективность работы ее в промышленных проектах. Этот метод можно использовать к тем проверенным участкам, которые можно учесть в формальной модели.

    Преимуществом проверки моделей является допустимость автоматизации процесса тестирования и строение модели. Создание формальной модели дает увидеть код программы в виде ряд логических выражений, позволяя наблюдать свойства программы, показанные в виде спецификации.

    Статический анализ программы — это исследование выполняется без фактического выполнения программы. В основном исследуется определенная версия исходного кода. Динамический анализ дает анализировать все пути выполнения программы. Используется в том случае, если исследование выполняется с помощью автоматизированныхинструментов.

    В настоящем мире существуют две самые популярные группы методов статической верификации: это методы дедуктивного исследования программ метод проверки модели [11, с. 293–326].

    Методы дедуктивного анализа применяется на основании пригодностипрограммы своей спецификации, как правило задаваемый в виде пред и постусловий. На данном уровне прогресс — это инструменты не пригодны для исследования больших программ потому, что требуют ручной аннотации функции и циклов в коде программы [13, с. 452].

    Способы проверки модели основываются из кода программы и создают ее математическую модель, обычно в качестве модели используют Крипк [13, с. 452], после этого анализируют эту модель на предмет исполнения установленных условии и ограничений.

    Методы статического анализа не зависят от использования компилятора и среды, что дает обнаружить скрытые ошибки, и не понятные поведения программы. С легкостью определяет ошибки в тексте программы, наделенный вставкой и копирования разных частей кода. Статический анализ мало эффективен в обнаружение ошибок, сцепленный с утечкой памяти, и имеет отличительную черту создавать огромное количество ложных срабатываний указывая все подозрительные места в тексте, но современные методы имеют большую точность и полный анализ [14, с. 244].

    Верификация методом статического анализа более плодотворна на этапе создания ПО, так как статический анализ пригодный к данному тексту программы и не имеет в виду ее исполнение, это позволяет уменьшить стоимость проекта и увеличить его надежность. Инструменты автоматической верификации на основе статического анализа, используются довольно неограниченно потому, что уместные и нетрудные в выполнении не требуют специальной подготовки программы.

    Эти методы, для которых анализ программного обеспечения осуществляются при помощи реального выполнения программы. Если имитационный моделирование реализовывает не сама программа, а программа ее моделирующая, то на вход программы действует последовательность данных, которые имеют возможность создавать недетерминированное поведение, таким способом допускает выявлению уязвимости и ошибки.

    Мониторинг — это такой метод, при котором исходит проверка, регистрация и оценка работы ПО [2, с. 285–288]. Протоколируемая информация подчиняется от оценки характеристик системы. Получая данные о работе, при этом используются разные методы инструментированная и это все является мониторинг.

    Инструментирование дает возможность следить или установить качественные параметры уровня производительности ПО, и имеет вероятность распознавать ошибки и записывать информацию для наблюдения причины их появлению.

    Тестирование ПО адресовано на обнаружение тех ситуации в программном коде, в таких где поведение программы становится недетерминированным, не правильным и не соответствующим спецификации. Как правило, тестирование выполняются в рамках известных, заданных сценариев.

    Способы экспертизы невозможно автоматизировать, но при этом они имеют большее достоинство благодаря тому, что покрывают большую часть имеющих ошибок программы. Способы формальной верификации имеют отличительную особенность от других сложных процессов создания формальной модели программы, но при этом формальные методы покрывают огромный класс ошибок и легко автоматизируется. В настоящее время статические методы тестирование программного обеспечения лишены высокого полного тестирования, хотя прежде это было их привилегией, большинство программ употребляют динамический код, который нельзя верифицировать статическим методом. Динамические методы верифицируют только определенный набор трасс выполнения ПО и не гарантируют нужную полноту тестирования программы.

    В итоге проведенного анализа и классификации имеющих методов, был создан список требований для нового, синтетического метода верификации.

    На первых этапах разработки методы динамического анализа уместно употреблять на случаи если, есть какие-либо действующие элементы ПО. Динамические способы дают определить в программе только те ошибки, которые возникаютпри запуске программы. Для использования динамических способов верификации программного обеспечения также необходимо дополнительная подготовка, такие как: разработка тестов, создание тестовой системы, которая дает реализовать их.

    Для применения динамических методов верификации ПО требуется дополнительная подготовка — создание тестов, разработка тестовой системы, позволяющие их выполнять или системы мониторинга, позволяющей проверить определенное поведение исследуемого ПО. Вероятно, динамическое генерирование тестов, похожее тестирование нуждается в большем времени. Одновременно является более продуктивным и новейшим методом тестирования, который может обнаружить значительное количество уязвимости в коде программы, нежели при применении статических методов тестирование программного обеспечения.

    Метод динамического исследование также имеет недочеты, прежде всего недостатком этого метода является огромное количество ошибочных срабатываний. Величина ошибочных срабатывании при использовании новейших инструментов исследования порядочно велико и составляет, от 20 до 30 % [15-16, с. 514–518], все-таки динамический анализ — это порядочно эффективный метод для проверки программного обеспечения на присутствие уязвимости.

    1. Бурякова Н. А., Чернов А. В. Классификация частично формализованных и формальных моделей и методов верификации программного обеспечения // Инженерный Вестник Дона. 2014. № 4. 129–134 c.

    4. Глухих М. И., Ицыксон В. М., Цесько В. А. Использование зависимостей для повышения точности статического анализа программ // Моделирование и анализ информационных систем. 2011. № 4. 68–79 c.

    5. Гурин Р. Е. Обзор и анализ инструментов, который осуществляют верификацию бинарного кода программы // Новые информационные технологии в автоматизированных системах: материалы 17-го научно-практического семинара. Вып. 17. М.: ИПМ им. М. В. Келдыша, 2014. 514–518. 421 с.

    7. Канер Кем, Фолк Джек, Нгуен Енг Кек.Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений. — Киев: ДиаСофт, 2001. — 544 с. —ISBN 9667393879.

    8. Карпов Ю. Г. MODEL CHECKING. Верификация параллельных и распределенных программных систем. СПб.: БХВ-Петербург, 2015. 560 с.

    10. Лаврищева Е. М., Петрухин В. А. Методы и средства инженерии программного обеспечения: учебник. М.: МФТИ, 2009. 304 с.

    12. Мандрыкин М. У., Мутилин В. С., Новиков Е. М., Хорошилов А. В. Обзор инструментов статической верификации С программ в применении к драйверам устройств операционной системы Linux // Сборник трудов Института системного программирования РАН. Т. 22. М.: ИСП РАН, 2012. C. 293–294. DOI: 10.15014/ISPRAS-2012–22–17. 345 c.

    13. Рудаков И. В., Гурин Р. Е., Ребриков А. В. Верификация программного обеспечения: обзор методов и характеристик // Национальная ассоциация ученых (НАУ). Ежемесячный журнал. 2014. № 3, ч. 2. 22–26 c.

    14. Beyer B. Status repоrt on software verification (competition summary SV-COMP 2014) // Tools and Algorithms for the Construction and Analysis of Systems / ed. by E. Abraham, K. Havelund. Springer Berlin Heidelberg, 2014. P. 373–388. DOI: 10.1007/978–3-642–54862-8_25 (Ser. Lecture Notes in Computer Science; vol. 8413.).377 c.

    15. Boehmn B., Basilir V. Top 10 list [software development] // IEEE Computer. 2001. Vol. 34, no. 1. P. 135–137. DOI: 10.1109/2.962984. 136 c.

    16. Boywer R. S., Elspaser B., Levitt K. N. SELECT — a formal system for testing and debugging programs by symbolic execution // Proceedings of the International Conference on Reliable Software, Los Angeles, California, 1985. ACM New York, NY, USA, 1985. P. 234–254. DOI: 10.1145/800027.808445. 244 c.

    Основные термины (генерируются автоматически): программное обеспечение, статический анализ, динамический анализ, SMT, код программы, ошибка, исходный код, символьное выполнение, синтетический метод верификации, тестирование программ.

    Читайте также: