首页> 外文学位 >Improving software maintenance and security testing through dynamic compilers.
【24h】

Improving software maintenance and security testing through dynamic compilers.

机译:通过动态编译器改善软件维护和安全性测试。

获取原文
获取原文并翻译 | 示例

摘要

Resource constraints force software testers to limit the amount of program testing performed. Testers focus most on the portions of the program that the user is likely to utilize. This testing strategy skips portions of the program that the tester regards as "uncommon," which often includes error handling code and security code. Furthermore, even if testers were given more time and resources for testing, some code could not be easily tested as it requires external environmental conditions to trigger, such as memory exhaustion, disk hardware failures, etc. Resource constraints also limit the amount of time spent performing program analyses, such as impact analysis, that benefit software testing.;This dissertation addresses these concerns by providing practical solutions through the use of dynamic compilers, which allow for program analysis and/or transformation during execution. For testing, we present the Rugrat testing framework, which is capable of automatically generating test cases for code handling uncommon situations, such as error handling code and security mechanisms. Our empirical studies indicate that Rugrat is effective at providing test cases for code that may otherwise go untested.;For impact analysis, we present several online impact analysis algorithms, which are performed during program execution. Empirical studies indicate that the online impact analysis algorithms scale better to larger programs than current techniques. Furthermore, by performing the analysis during program execution, expensive post processing steps are avoided, reducing the overhead of the analysis compared to current, state of the art, techniques. We also present several ways to improve the results of the analysis by approximating program data flow.
机译:资源限制迫使软件测试人员限制执行的程序测试的数量。测试人员最关注的是用户可能会使用的程序部分。此测试策略跳过了测试人员认为是“罕见”的程序部分,该部分通常包括错误处理代码和安全代码。此外,即使为测试人员提供了更多的时间和资源进行测试,某些代码也无法轻松地进行测试,因为它需要外部环境条件来触发,例如内存耗尽,磁盘硬件故障等。资源限制也限制了所花费的时间进行有益于软件测试的程序分析,例如影响分析。本论文通过使用动态编译器提供实用的解决方案来解决这些问题,这些编译器允许在执行过程中进行程序分析和/或转换。对于测试,我们介绍了Rugrat测试框架,该框架能够自动生成测试用例,以处理异常情况下的代码,例如错误处理代码和安全机制。我们的经验研究表明,Rugrat可以有效地提供可能未经测试的代码测试用例。对于影响分析,我们提出了几种在线影响分析算法,这些算法在程序执行期间执行。实证研究表明,与当前技术相比,在线影响分析算法可以更好地扩展到更大的程序。此外,通过在程序执行期间执行分析,避免了昂贵的后处理步骤,与当前的最新技术相比,减少了分析的开销。我们还提出了几种通过近似程序数据流来改善分析结果的方法。

著录项

  • 作者

    Breech, Benjamin A.;

  • 作者单位

    University of Delaware.;

  • 授予单位 University of Delaware.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2008
  • 页码 179 p.
  • 总页数 179
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号