CAREER: Maximal and Scalable Unified Debugging for the JVM Ecosystem
CAREER: Maximal and Scalable Unified Debugging for the JVM Ecosystem
批准号:
2131943
负责人:
Lingming Zhang
金额:
$51.98万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2021
资助国家:
美国
项目状态:
未结题
起止时间:
2021-07-15 至 2026-04-30
中文摘要
世界各地的软件行业都为Java(最流行的编程语言之一)的大规模支持文化做出了贡献。Java运行时或Java虚拟机(JVM)已经成为一个软件生态系统。如今,数百种流行的JVM语言(包括科特林,Scala和Groovy)已经在不同的平台(包括Oracle JDK和Android SDK),构建系统(包括Gradle和Maven)和JVM实现(包括HotSpot和OpenJ 9)下开发/采用。例如,Google刚刚在Google I/O 2019上将科特林提升为Android开发的首选语言。JVM庞大而异构的生态系统对自动化调试提出了独特的挑战,包括故障定位和修复。这个项目建议重新思考程序突变的基本概念,即系统的程序转换,在自动调试中的作用。程序变异已被广泛用于传统的变异测试和程序修复,研究人员在前期工作的基础上表示,它可以用于改造和推进使用整个JVM生态系统及其他技术编写的软件的自动化调试。具体而言,该项目侧重于以下研究重点:(1)通过程序变异来统一故障定位和修复以相互促进,(2)从大代码语料库中自动推断最新的高级变异器以进行最大限度的统一调试,因为现有的程序变异器通常是有限的并且可能容易变得过时,(3)开发新的技术来优化补丁执行以进行可扩展的统一调试,因为补丁执行可能非常耗时,以及(4)支持整个异构JVM生态系统的统一调试。该项目将首次统一不同维度的程序变化,例如,跨JVM语言和平台,跨代码类型(包括源代码、测试代码和构建代码),甚至跨JVM边界。最终,该项目的目标是一个实用的调试系统,以使世界各地的JVM生态系统开发人员受益。统一调试的总体思想也可以实质性地影响研究人员和实践者查看,设计和应用自动化调试的方式-故障定位总是需要手动修复,而程序修复只适用于某些错误;相反,统一调试可以支持每个错误的最自动化调试,并将整个程序修复区域的有效范围扩展到所有可能的错误。该项目将把研究成果整合到SE课程、K-12夏令营、软件测试竞赛和工业合作中。该奖项反映了NSF的法定使命,并通过使用基金会的智力价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
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.
期刊论文(19)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
ITfuzz: Coverage-guided Fuzzing for JVM Just-in-Time Compilers
ITfuzz:针对 JVM 即时编译器的覆盖引导模糊测试
DOI:
--
发表时间:
2023
期刊:
Proceedings of the IEEE/ACM International Conference on Software Engineering
影响因子:
--
作者:
[Wu, Mingyuan, Lu, Minghai, Cui, Heming, Chen, Junjie, Zhang, Yuqun, Zhang, Lingming]
通讯作者:
Zhang, Lingming
DOI:
10.1145/3510003.3510041
发表时间:
2022-01
期刊:
2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE)
影响因子:
--
作者:
[Anjiang Wei;Yinlin Deng;Chenyuan Yang;Lingming Zhang]
通讯作者:
Anjiang Wei;Yinlin Deng;Chenyuan Yang;Lingming Zhang
DOI:
10.1109/icse48619.2023.00154
发表时间:
2023-05
期刊:
2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)
影响因子:
--
作者:
[Chun Xia;Saikat Dutta;D. Marinov]
通讯作者:
Chun Xia;Saikat Dutta;D. Marinov
DOI:
10.1145/3510003.3510059
发表时间:
2022-05
期刊:
2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE)
影响因子:
--
作者:
[Yingquan Zhao;Zan Wang;Junjie Chen;Mengdi Liu;Mingyuan Wu;Yuqun Zhang;Lingming Zhang]
通讯作者:
Yingquan Zhao;Zan Wang;Junjie Chen;Mengdi Liu;Mingyuan Wu;Yuqun Zhang;Lingming Zhang
DOI:
10.1145/3611643.3616337
发表时间:
2023-02
期刊:
Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
作者:
[Jiawei Liu;Jinjun Peng;Yuyao Wang;Lingming Zhang]
通讯作者:
Jiawei Liu;Jinjun Peng;Yuyao Wang;Lingming Zhang
共 17 条
SHF: Medium: Collaborative Research: Enhancing Continuous Integration Testing for the Open-Source Ecosystem
-
批准号:2141474
-
项目类别:Continuing Grant
-
资助金额:$36.3万
-
财政年份:2020
-
负责人:Lingming Zhang
-
依托单位:
CAREER: Maximal and Scalable Unified Debugging for the JVM Ecosystem
-
批准号:1942430
-
项目类别:Continuing Grant
-
资助金额:$51.98万
-
财政年份:2020
-
负责人:Lingming Zhang
-
依托单位:
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
-
依托单位:
海外基金