首页> 外文学位 >Cross-language program analysis for dynamic web applications.
【24h】

Cross-language program analysis for dynamic web applications.

机译:动态Web应用程序的跨语言程序分析。

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

摘要

Web applications have become one of the most important and prevalent types of software. In modern web applications, the display of any web page is usually an interplay of multiple languages and involves code execution at different locations (the server side, the database side, and the client side). These characteristics make it hard to write and maintain web applications. Much of the existing research and tool support often deals with one single language and therefore is still limited in addressing those challenges. To fill in this gap, this dissertation is aimed at developing an infrastructure for cross-language program analysis for dynamic web applications to support creating reliable and robust web applications with higher quality and lower costs. To reach that goal, we have developed the following research components. First, to understand the client-side code that is embedded in the server-side code, we develop an output-oriented symbolic execution engine that approximates all possible outputs of a server-side program. Second, we use variability-aware parsing, a technique recently developed for parsing conditional code in software product lines, to parse those outputs into a compact tree representation (called VarDOM) that represents all possible DOM variants of a web application. Third, we leverage the VarDOM to extract semantic information from the server-side code. Specifically, we develop novel concepts, techniques, and tools (1) to build call graphs for embedded client code in different languages, (2) to compute cross-language program slices, and (3) to compute a novel test coverage criterion called output coverage that aids testers in creating effective test suites for detecting output-related bugs. The results have been demonstrated in a wide range of applications for web programs such as IDE services, fault localization, bug detection , and testing.
机译:Web应用程序已成为最重要和流行的软件类型之一。在现代Web应用程序中,任何网页的显示通常都是多种语言的相互作用,并且涉及在不同位置(服务器端,数据库端和客户端)执行代码。这些特征使编写和维护Web应用程序变得困难。现有的许多研究和工具支持通常都只使用一种语言,因此在应对这些挑战方面仍然受到限制。为了填补这一空白,本论文旨在为动态Web应用程序开发用于跨语言程序分析的基础结构,以支持创建质量更高,成本更低的可靠,健壮的Web应用程序。为了实现该目标,我们开发了以下研究组件。首先,为了了解嵌入在服务器端代码中的客户端代码,我们开发了一种面向输出的符号执行引擎,该引擎近似于服务器端程序的所有可能输出。其次,我们使用可变性感知分析(一种最近开发的用于解析软件产品线中的条件代码的技术)将这些输出解析为紧凑的树表示形式(称为VarDOM),该表示形式表示Web应用程序的所有可能的DOM变体。第三,我们利用VarDOM从服务器端代码中提取语义信息。具体来说,我们开发了新颖的概念,技术和工具(1)为不同语言的嵌入式客户端代码构建调用图,(2)计算跨语言程序片,以及(3)计算称为输出的新颖测试范围标准覆盖范围可帮助测试人员创建有效的测试套件,以检测与输出相关的错误。结果已在广泛的Web程序应用程序中得到了证明,例如IDE服务,故障定位,错误检测和测试。

著录项

  • 作者

    Nguyen, Hung Viet.;

  • 作者单位

    Iowa State University.;

  • 授予单位 Iowa State University.;
  • 学科 Computer engineering.;Web studies.;Computer science.
  • 学位 Ph.D.
  • 年度 2016
  • 页码 150 p.
  • 总页数 150
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号