Elicitation of a Program's Behaviors
<p> Programmers, software testers, and cyber-security analysts have a need to understand the behaviors that their programs might exhibit. We consider a program's behaviors to be its actions manifesting some effect beyond its own internal state. A program generally exhibits such behavior...
Main Author: | |
---|---|
Language: | EN |
Published: |
University of Louisiana at Lafayette
2016
|
Subjects: | |
Online Access: | http://pqdtopen.proquest.com/#viewpdf?dispub=10002454 |
id |
ndltd-PROQUEST-oai-pqdtoai.proquest.com-10002454 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-PROQUEST-oai-pqdtoai.proquest.com-100024542016-02-05T04:09:47Z Elicitation of a Program's Behaviors Miles, Craig S. Computer science <p> Programmers, software testers, and cyber-security analysts have a need to understand the behaviors that their programs might exhibit. We consider a program's behaviors to be its actions manifesting some effect beyond its own internal state. A program generally exhibits such behaviors by making API calls. One particularly powerful strategy for gaining an understanding of a program's behaviors is to witness their exhibition as the program runs. However, in order to witness a program's behaviors, one must first be able to elicit the program into exhibiting them. In the present work, a method is presented that serves to automatically and efficiently elicit a program into exhibiting many or all of its potential behaviors. The method works by guiding concolic execution towards the control flow paths along which a program's behaviors are more likely to be exhibited. First, an upfront interprocedural data flow analysis is employed to compute how API call statements reach one another and various other program points with respect to the program's control flow. The resulting information is then used to guide the path selection of concolic execution so as to give preference to paths along which more API call statements can be reached. An evaluation of the presented method shows that it more efficiently elicits program behaviors than does usage of non-guided concolic execution. In particular, the percentage increase in API call statements executed using our behavior elicitation method as compared to a common non-guided strategy ranged from 2% up to 287%, with a median percentage gain of 69.74%. </p> University of Louisiana at Lafayette 2016-02-04 00:00:00.0 thesis http://pqdtopen.proquest.com/#viewpdf?dispub=10002454 EN |
collection |
NDLTD |
language |
EN |
sources |
NDLTD |
topic |
Computer science |
spellingShingle |
Computer science Miles, Craig S. Elicitation of a Program's Behaviors |
description |
<p> Programmers, software testers, and cyber-security analysts have a need to understand the behaviors that their programs might exhibit. We consider a program's behaviors to be its actions manifesting some effect beyond its own internal state. A program generally exhibits such behaviors by making API calls. One particularly powerful strategy for gaining an understanding of a program's behaviors is to witness their exhibition as the program runs. However, in order to witness a program's behaviors, one must first be able to elicit the program into exhibiting them. In the present work, a method is presented that serves to automatically and efficiently elicit a program into exhibiting many or all of its potential behaviors. The method works by guiding concolic execution towards the control flow paths along which a program's behaviors are more likely to be exhibited. First, an upfront interprocedural data flow analysis is employed to compute how API call statements reach one another and various other program points with respect to the program's control flow. The resulting information is then used to guide the path selection of concolic execution so as to give preference to paths along which more API call statements can be reached. An evaluation of the presented method shows that it more efficiently elicits program behaviors than does usage of non-guided concolic execution. In particular, the percentage increase in API call statements executed using our behavior elicitation method as compared to a common non-guided strategy ranged from 2% up to 287%, with a median percentage gain of 69.74%. </p> |
author |
Miles, Craig S. |
author_facet |
Miles, Craig S. |
author_sort |
Miles, Craig S. |
title |
Elicitation of a Program's Behaviors |
title_short |
Elicitation of a Program's Behaviors |
title_full |
Elicitation of a Program's Behaviors |
title_fullStr |
Elicitation of a Program's Behaviors |
title_full_unstemmed |
Elicitation of a Program's Behaviors |
title_sort |
elicitation of a program's behaviors |
publisher |
University of Louisiana at Lafayette |
publishDate |
2016 |
url |
http://pqdtopen.proquest.com/#viewpdf?dispub=10002454 |
work_keys_str_mv |
AT milescraigs elicitationofaprogramsbehaviors |
_version_ |
1718178629938053120 |