首页> 外文学位 >Refinement of web software motivated by real-world patterns.
【24h】

Refinement of web software motivated by real-world patterns.

机译:改进由实际模式引起的Web软件。

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

摘要

Although the dynamicity of languages such as JavaScript threatens our ability to understand them, by studying how these languages are used by real programmers, it is possible to create tools which address real, demonstrable needs without sacrificing the dynamic behavior which is essential to practical applications.;With the rise of the browser as an application platform, JavaScript has transformed from a niche language used to add small scripts to web pages to one of the world's most popular programming languages. It is a highly dynamic language, difficult to analyze and difficult to understand statically, and its meteoric rise to popularity has outstripped the pace of the software community to analyze its code and create language tools. With such a dynamic language, many analysis techniques fail.;In this work, the behavior of real JavaScript code is studied, so as to distinguish the potential dynamic behavior from the real dynamic behavior. Given this knowledge, this work presents tools and techniques which address the demonstrable needs of real JavaScript programmers while making JavaScript more amenable to analysis.;To address the problem of performance analysis, JSBench is presented, which eliminates nondeterminism to create useful benchmarks from any source. To address the problem of code with eval, Evalorizer is presented, which gives suggestions on how to replace eval by studying how it is used. To address the problem of third-party code mixing, a technique for providing flexible access control is presented, and shown to be usable for real programs. Finally, to allow more maintainable JavaScript, an extension to the language, LikeScript, is presented, which allows the expression of types without sacrificing necessary dynamic behaviors.;In concert, these tools allow for JavaScript code to be made more maintainable and analyzable, all while maintaining the behaviors which are used by real, popular web applications.
机译:尽管诸如JavaScript之类的语言的动态性威胁了我们理解它们的能力,但通过研究真正的程序员如何使用这些语言,仍可以创建满足真实可证明需求的工具,而不会牺牲对于实际应用必不可少的动态行为。随着浏览器作为应用程序平台的兴起,JavaScript已从一种用于向网页添加小脚本的小众语言转变为一种世界上最受欢迎的编程语言。它是一种高度动态的语言,难以分析且难以静态理解,并且其迅速普及的速度已经超过了软件社区分析其代码和创建语言工具的步伐。使用这种动态语言,许多分析技术都失败了。在这项工作中,研究了真实JavaScript代码的行为,以便将潜在的动态行为与真实的动态行为区分开。有了这些知识,这项工作将提出一些工具和技术,这些工具和技术可以满足实际JavaScript程序员的明显需求,同时使JavaScript更易于分析。为了解决性能分析的问题,提出了JSBench,它消除了不确定性,可以从任何来源创建有用的基准。为了解决使用eval编写代码的问题,提出了Evalorizer,该工具通过研究eval的用法来提出有关如何替换eval的建议。为了解决第三方代码混合的问题,提出了一种用于提供灵活的访问控制的技术,该技术被证明可用于实际程序。最后,为了使JavaScript更具可维护性,提出了对语言LikeScript的扩展,它允许在不牺牲必要的动态行为的情况下表达类型。总之,这些工具可以使JavaScript代码更易于维护和分析。同时保持真实,流行的Web应用程序使用的行为。

著录项

  • 作者

    Richards, Gregor K.;

  • 作者单位

    Purdue University.;

  • 授予单位 Purdue University.;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 2014
  • 页码 260 p.
  • 总页数 260
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号