Чaстныx кoмпaний, кoтoрыe зaнимaются рaзрaбoткoй прoгрaммнoгo oбeспeчeния, eжeгoднo трaтят миллиoны дoллaрoв нa пoиск пoтeнциaльнo oпaсныx oшибoк, кoтoрыe, пoчeму-тo, нe дoпускaeтся в прoгрaммax. Этoт процесс является чрезвычайно сложным и трудно быть автоматизированы, так что даже если локатор обнаруживает десяток или сотню ошибок в другой программе, никто с уверенностью не может сказать, сколько ошибок она и не заметит и пропустит. Исследователи из Нью-Йоркского университета, Массачусетского технологического института и Северо-Восточного университета сейчас работают над поиском ошибок в программе, использует весьма необычный подход к этому делу. Вместо того, чтобы искать и исправлять ошибки, программа добавляет их в исходный код Другой программы сотни тысяч.
В своей работе ученые использовали подход из лавы (большие Автоматизированные Уязвимость дополнение), технологии намеренно добавив недостатки и ошибки в исходном тексте программы. Но, такая «зарядка» известная ошибка программы используются для оценки эффективности программы-локаторы, которые, в свою очередь, предназначен для поиска и устранения ошибок. Первые эксперименты с технологией лавы показал, что большинство программ-локаторы, могут обнаруживать не более 2% от общего количества имеющихся недостатков и узких мест.
Программы-локаторы эффективность обычно измеряется два параметра, ложноположительных и ложноотрицательных уровней обнаружения ошибок. Ложное срабатывание сигнала соответствует программе-обнаружение ошибки локатора там, где его нет, и ложно отрицательный сигнал как не трудно нажмите, пропустил ошибку. Не зная точного количества и местоположения ошибок в программе вмешательства, нет никакого способа, чтобы определить вышеуказанные параметры, а также оценить эффективность локатор программа.
«Единственный способ оценить рабочую программу локатор сместить ее программы с известным количеством ошибок. Это то, что мы делаем с технологией лавы», — пишут исследователи, «наша автоматизированная система вставляет в программу искусственных ошибок, но они во многом совпадает с обычным ошибок, допущенных разработчиками.» Следует отметить, что формулировка в ручном режиме тестовых программ для оценки эффективности программы-локаторы, которые оцениваются в суммы с пятью нулями. Новая программа способна «произвести» тест-программы в большом количестве, и стоимость создания каждого из них не превышает нескольких центов.
В дополнение к уже имеющийся системе лава дает пользователям возможность вводить новые виды синтетических ошибок, которые характерны только для некоторых программ особенно. Это, в свою очередь, позволит вам настроить работу локаторы в поисках ошибок, которые допускаются при разработке даже с учетом индивидуальных особенностей каждого из задействованных разработчиков.
«Никогда прежде в индустрии разработки программного обеспечения не было единого стандарта для технологии обнаружения ошибок. Программа заполнена с ошибками с помощью технологии лавы, имеют все шансы стать стандартом, и если это произойдет в ближайшем будущем, разработанное программное обеспечение будет меньше глючит, быстрее и эффективнее.» И для того, чтобы обеспечить достижение указанных чуть выше, разработчики лава собирается в ближайшем будущем провести конференцию, куда будут приглашены представители крупнейших разработчиков программного обеспечения и представителей всех без исключения разработчиков программного обеспечения-локаторы.