Մեր օրերում ֆազինգը համարվում է ավտոմատ թեստավորման ամենաարդյունավետ և ամենահայտնի մեթոդներից մեկը։ Սակայն գոյություն ունեցող մեթոդներն ունեն սահմանափակ հնարավորություններ հետազոտելու այնպիսի ծրագրային համակարգեր (օր. կոմպիլյատոորներ), որոնք մշակում են բարդ կառուցվածք ունեցող տվյալներ։ Հոդվածում ներկայացված է ֆազինգի մեթոդ, որն օգտագօրծում է կոնտեքստից ազատ քերականությունները մուտքային տվյալների կառուցման համար հիմնվելով ֆազինգի ընթացքում ստացված տվյալների վրա։ Գոյություն ունեցող մոթոդներից շատերը հակված են կառուցել տվյալների ամբողջական հավաքածուներ, մինչ ֆազինգի սկիզբը, որի հետևանքով անհնար է դառնում օգտագործել կատարման ընթացքում ստացված ինֆորմացիան կառուցվող տվյալների որակը բարձրացնելու համար։ Առաջարկվող մեթոդի նպատակն է ուղղորդել քերականության վրա հիմնված մուտքային տվյալների կառուցումը օգտագործելով ինֆորմացիա ուսումնասիրվող ծրագրային համակարգի կոդի ծածկույթի մասին։ Այս մեթոդն օգտագործում է ավելի քան 120 քերականությունների BNF (Bakus-Naur Form) ներկայացումներ, նկարագրված ANTLR ծրագրային համակարգում։ Փորձերի արդյունքները ցույց են տալիս, որ ներկայացված մեթոդի միջոցով կառուցված տվյալների շնորհիվ հնարավոր է ստանալ հետազոտվող ծրագրային ապահովման կոդի ավելի մեծ ծածկույթ, քան մյուս հայտնի մեթոդները։
;
В наши дни фаззинг является одним из наиболее эффективных и широко используемых методов автоматического динамического анализа. Несмотря на это, существующие методы имеют ограничения при тестировании приложений (компиляторы и интерпретаторы) обрабатывающие входные данные, имеющие сложную структуру. В статье представлен метод фаззинга на основе грамматических правил. Метод основан на генерации входных данных программы, используя обратную связь с фаззером (информацию в результате выполнения фаззинга). Множество других методов склонны создавать начальный набор тестовых примеров до начала процесса фаззинга, и, следовательно, не могут использовать информацию, доступную во время выполнения фаззинга, для повышения качества генерируемых тестовых примеров. Предлагаемый метод использует покрытие кода программы, собранный для каждого тестового примера и направляет процесс построения новых входных данных (на основе грамматик). Данный метод использует БНФ (Форма Бэкуса — Наура) представления более 120 грамматик, описанных в платформе ANTLR (Another Tool For Language Recognition). Проведенные тестирования показывают, что метод генерации случайных тестов учитывая обратную связь с фаззером, позволяет достичь большего покрытия кода, чем существующие методы.
oai:noad.sci.am:136024
May 3, 2021
Jul 29, 2020
13
https://noad.sci.am/publication/149661
Հրատարակության անուն | Ամսաթիվ |
---|---|
Сережа Асрян, Фаззинг с использованием грамматических правил: генерация данных на основе обратной связи с фаззером | May 3, 2021 |