课题基金 / 基金详情

CAREER: Maximal and Scalable Unified Debugging for the JVM Ecosystem

CAREER: Maximal and Scalable Unified Debugging for the JVM Ecosystem
职业:JVM 生态系统的最大且可扩展的统一调试
批准号:
1942430
负责人:
Lingming Zhang
金额:
$51.98万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2020
资助国家:
美国
项目状态:
已结题
起止时间:
2020-06-15 至 2021-06-30

项目摘要

项目成果

Lingming Zhang的其他基金

相似基金

相关文献

中文摘要
翻译
全世界的软件行业都为围绕Java(最流行的编程语言之一)的大规模支持文化做出了贡献。Java运行时或Java虚拟机(JVM)已经成为一个独立的软件生态系统。如今,数百种流行的JVM语言(包括Kotlin、Scala和Groovy)已经在不同的平台(包括Oracle JDK和Android SDK)、构建系统(包括Gradle和Maven)和JVM实现(包括HotSpot和OpenJ9)下开发/采用。例如,谷歌刚刚在谷歌I/O 2019上将Kotlin提升为Android开发的首选语言。庞大而异构的JVM生态系统给自动调试带来了独特的挑战,包括故障定位和修复。本项目提出重新思考程序突变的一个基本概念,即系统的程序转换,在自动化调试中的作用。程序突变在传统的突变测试和程序修复中被广泛采用,基于初步工作,研究者推测,它可以用于转换和推进使用整个JVM生态系统及其他技术编写的软件的自动调试中的最新技术。具体而言,该项目侧重于以下研究重点:(1)通过程序突变将故障定位和修复统一起来,以相互促进;(2)由于现有的程序突变器通常有限且容易过时,因此自动从大型代码语料库中推断最新的高级突变器,以实现最大的统一调试;(3)开发新技术来优化补丁执行,以实现可扩展的统一调试,因为补丁执行可能非常耗时;(4)支持对整个异构JVM生态系统进行统一调试。该项目将首次统一不同维度的程序变化,例如,跨JVM语言和平台,跨代码类型(包括源代码、测试代码和构建代码),甚至跨JVM边界。最终,该项目的目标是一个实用的调试系统,以使全世界的JVM生态系统开发人员受益。统一调试的总体思想也可以从本质上影响研究人员和实践者看待、设计和应用自动调试的方式——故障定位总是需要人工修复,而程序修复只适用于某些错误;相比之下,统一调试可以支持对每个错误进行尽可能自动化的调试,并将整个程序修复区域的有效范围扩大到所有可能的错误。该项目将把研究成果整合到SE课程、K-12训练营、软件测试竞赛和工业合作中。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
The software industry all over the world has contributed to the massive culture of support around Java, one of the most popular programming languages. The Java runtime, or Java Virtual Machine (JVM), has become a software ecosystem on its own. Nowadays, hundreds of popular JVM languages (including Kotlin, Scala, and Groovy) have been developed/adopted under different platforms (including Oracle JDK and Android SDK), build systems (including Gradle and Maven), and JVM implementations (including HotSpot and OpenJ9). For example, Google just promoted Kotlin to the No.1 preferred language for Android development at Google I/O 2019. The huge and heterogeneous ecosystem of JVM raises unique challenges to automated debugging, including both fault localization and repair. This project proposes to re-think the role of a foundational concept of program mutation, that is, systematic program transformation, in automated debugging. Program mutation has been widely adopted in traditional mutation testing and program repair, and the investigator conjectures, based on preliminary work, that it can be used to transform and advance the state-of-the-art in automated debugging for software written with technologies from the entire JVM ecosystem and beyond. Specifically, the project focuses on the following research thrusts: (1) unifying both fault localization and repair via program mutation to boost each other, (2) automatically inferring up-to-date advanced mutators from big code corpora for maximal unified debugging, since existing program mutators are often limited and may easily become obsolete, (3) developing novel techniques to optimize patch executions for scalable unified debugging, since patch execution can be extremely time-consuming, and (4) supporting unified debugging of the entire heterogeneous JVM ecosystem. The project will unify program mutations across various dimensions for the first time, e.g., across JVM languages and platforms, across code types (including source, test, and build code), and even across JVM boundaries. Ultimately, the project aims for a practical debugging system to benefit JVM ecosystem developers all over the world. The overarching idea of unified debugging can also substantially impact the ways that both researchers and practitioners view, design, and apply automated debugging -- fault localization always requires manual repair while program repair only works for some bugs; in contrast, unified debugging can support the most automated debugging possible for each bug, and broaden the effective range of the entire program repair area to all possible bugs. The project will integrate the research results into SE curriculum, K-12 camps, software testing contests, and industrial collaborations.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
期刊论文(8)
专著(0)
科研奖励(0)
会议论文
DOI: 10.1109/icst49551.2021.00034
发表时间: 2021-04
期刊: 2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)
影响因子: --
作者: [Xia Li;Jiajun Jiang;Samuel Benton;Y. Xiong;Lingming Zhang]
通讯作者: Xia Li;Jiajun Jiang;Samuel Benton;Y. Xiong;Lingming Zhang
DOI: 10.1145/3324884.3416566
发表时间: 2020-09
期刊: 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)
影响因子: --
作者: [Samuel Benton;Xia Li;Yiling Lou;Lingming Zhang]
通讯作者: Samuel Benton;Xia Li;Yiling Lou;Lingming Zhang
DOI: 10.1145/3324884.3416570
发表时间: 2020-09
期刊: 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)
影响因子: --
作者: [Junjie Chen;Haoyang Ma;Lingming Zhang]
通讯作者: Junjie Chen;Haoyang Ma;Lingming Zhang
DOI: 10.1145/3395363.3397351
发表时间: 2020-07
期刊: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
影响因子: --
作者: [Yiling Lou;Ali Ghanbari;Xia Li;Lingming Zhang;Haotian Zhang;Dan Hao;Lu Zhang]
通讯作者: Yiling Lou;Ali Ghanbari;Xia Li;Lingming Zhang;Haotian Zhang;Dan Hao;Lu Zhang
共 7 条
    CAREER: Maximal and Scalable Unified Debugging for the JVM Ecosystem
    SHF: Medium: Collaborative Research: Enhancing Continuous Integration Testing for the Open-Source Ecosystem
    SHF: Medium: Collaborative Research: Enhancing Continuous Integration Testing for the Open-Source Ecosystem
    • 批准号:
      1763906
    • 项目类别:
      Continuing Grant
    • 资助金额:
      $36.3万
    • 财政年份:
      2018
    • 负责人:
      Lingming Zhang
    • 依托单位:
    CRII: SHF: Machine-Learning-Based Test Effectiveness Prediction
    • 批准号:
      1566589
    • 项目类别:
      Standard Grant
    • 资助金额:
      $17.42万
    • 财政年份:
      2016
    • 负责人:
      Lingming Zhang
    • 依托单位:
    海外基金