Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
基本信息
- 批准号:RGPIN-2018-06726
- 负责人:
- 金额:$ 2.4万
- 依托单位:
- 依托单位国家:加拿大
- 项目类别:Discovery Grants Program - Individual
- 财政年份:2022
- 资助国家:加拿大
- 起止时间:2022-01-01 至 2023-12-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Modern software development relies heavily on application-level abstraction frameworks to reduce software development overheads. For example, more than 78% of Java developers use Object-Relational Mapping frameworks to abstract database accesses; and large companies such as Amazon rely on Apache Spark to abstract distributed data analysis. Using various application-level abstraction frameworks allows developers to focus on the business logic of the application, and hence, significantly reduce the software development time and costs. However, using application-level abstraction frameworks can be a double-edged sword: on one hand, using these frameworks helps reduce development overheads, but on the other hand, using them incorrectly or inefficiently can result in severe software quality problems. In fact, it is common to see incorrect or suboptimal usage of abstraction frameworks due to several reasons. First, due to an incomplete understanding of the framework, developers may introduce incorrect framework usage in the application code. Second, modern application-level abstraction frameworks give developers the flexibility to customize the framework usage for different scenarios, and to tune configuration options based on real-world workloads. Not considering the scenarios and workloads would lead to sub-optimal use of the framework (e.g., having performance problems). The goal of this proposal is to address the above-mentioned challenges when using application-level abstraction frameworks. The proposal has three research objectives (ROs). RO1: To help developers during the software development stage, my students and I will propose techniques to automatically learn framework-specific bug patterns from software development history, and conduct user studies to understand the root causes and possible solutions of framework-related problems. RO2: To help developers during the development and operation stage, my students and I will create a lightweight real-time technique that can learn usage scenarios and typical workloads from applications that are deployed in production. The technique will provide suggestions to developers on optimizing framework-related code and configurations. RO3: To help developers during the maintenance stage, my students and I will propose techniques to automatically repair framework-specific problems by leveraging historical fixes and framework usage information in production. The outcome of this research will provide a complete solution to assist developers with modern framework-oriented software development. The proposed techniques will significantly improve software quality and reduce software development costs among Canadian companies. The proposed research will also train five highly qualified personnel (HQP) and allow them to contribute to state-of-the-art Software Engineering research and practice.
现代软件开发在很大程度上依赖于应用程序级抽象框架来减少软件开发开销。例如,超过78%的Java开发人员使用对象关系映射框架来抽象数据库访问;亚马逊等大型公司依赖Apache Spark来抽象分布式数据分析。使用各种应用程序级抽象框架可以让开发人员专注于应用程序的业务逻辑,从而大大减少软件开发时间和成本。然而,使用应用程序级抽象框架可能是一把双刃剑:一方面,使用这些框架有助于减少开发开销,但另一方面,不正确或低效地使用它们可能会导致严重的软件质量问题。事实上,由于几个原因,抽象框架的不正确或次优使用很常见。首先,由于对框架的不完全理解,开发人员可能会在应用程序代码中引入不正确的框架用法。其次,现代应用程序级抽象框架为开发人员提供了灵活性,可以针对不同的场景定制框架使用,并根据实际工作负载调整配置选项。不考虑场景和工作负载将导致框架的次优使用(例如,有性能问题)。本提案的目标是在使用应用程序级抽象框架时解决上述挑战。该计划有三个研究目标(RO)。RO1:为了在软件开发阶段帮助开发人员,我和我的学生将提出一些技术,从软件开发历史中自动学习特定于框架的错误模式,并进行用户研究,以了解框架相关问题的根本原因和可能的解决方案。RO2:为了在开发和操作阶段帮助开发人员,我和我的学生将创建一种轻量级的实时技术,可以从部署在生产中的应用程序中学习使用场景和典型工作负载。该技术将为开发人员提供优化框架相关代码和配置的建议。RO3:为了在维护阶段帮助开发人员,我和我的学生将提出一些技术,通过利用生产中的历史修复和框架使用信息来自动修复特定于框架的问题。本研究的成果将提供一个完整的解决方案,以协助开发人员与现代框架为导向的软件开发。所提出的技术将显着提高软件质量和降低软件开发成本之间的加拿大公司。拟议的研究还将培养五名高素质的人员(HQP),使他们能够为最先进的软件工程研究和实践做出贡献。
项目成果
期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
数据更新时间:{{ journalArticles.updateTime }}
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Chen, TseHsun其他文献
Chen, TseHsun的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Chen, TseHsun', 18)}}的其他基金
Towards High-Quality and Intelligent Database-Centric Applications
迈向以数据库为中心的高质量和智能应用程序
- 批准号:
543656-2019 - 财政年份:2021
- 资助金额:
$ 2.4万 - 项目类别:
Collaborative Research and Development Grants
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
RGPIN-2018-06726 - 财政年份:2021
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Grants Program - Individual
Towards High-Quality and Intelligent Database-Centric Applications
迈向以数据库为中心的高质量和智能应用程序
- 批准号:
543656-2019 - 财政年份:2020
- 资助金额:
$ 2.4万 - 项目类别:
Collaborative Research and Development Grants
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
RGPIN-2018-06726 - 财政年份:2020
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Grants Program - Individual
Towards High-Quality and Intelligent Database-Centric Applications
迈向以数据库为中心的高质量和智能应用程序
- 批准号:
543656-2019 - 财政年份:2019
- 资助金额:
$ 2.4万 - 项目类别:
Collaborative Research and Development Grants
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
RGPIN-2018-06726 - 财政年份:2019
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Grants Program - Individual
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
RGPIN-2018-06726 - 财政年份:2018
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Grants Program - Individual
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
DGECR-2018-00019 - 财政年份:2018
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Launch Supplement
相似海外基金
Establishment of a systematic support method for communication disorders in multiple system atrophy.
多系统萎缩中沟通障碍的系统支持方法的建立。
- 批准号:
23K16638 - 财政年份:2023
- 资助金额:
$ 2.4万 - 项目类别:
Grant-in-Aid for Early-Career Scientists
Developing methods to socially cultivate learners' conviviality and to support systematic learning aimed at improving teachers' practical skills
开发方法来培养学习者的社交乐趣并支持旨在提高教师实践技能的系统学习
- 批准号:
23H01011 - 财政年份:2023
- 资助金额:
$ 2.4万 - 项目类别:
Grant-in-Aid for Scientific Research (B)
Research on Issues of Systematic Support for Foreign Students: Focusing on the Institutional Context of Support
留学生制度化支持问题研究:聚焦支持的制度背景
- 批准号:
23K18940 - 财政年份:2023
- 资助金额:
$ 2.4万 - 项目类别:
Grant-in-Aid for Research Activity Start-up
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
RGPIN-2018-06726 - 财政年份:2021
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Grants Program - Individual
Knowledge mobilization activities to support decision-making by public citizens using a systematic and living map of evidence and recommendations on COVID-19
使用关于 COVID-19 的系统且生动的证据和建议地图来支持公众决策的知识动员活动
- 批准号:
448809 - 财政年份:2021
- 资助金额:
$ 2.4万 - 项目类别:
Operating Grants
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
RGPIN-2018-06726 - 财政年份:2020
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Grants Program - Individual
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
RGPIN-2018-06726 - 财政年份:2019
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Grants Program - Individual
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
RGPIN-2018-06726 - 财政年份:2018
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Grants Program - Individual
Effectiveness of Peer Support Groups for Adults with Medical Illness: A Systematic Review and Meta-analysis
同伴支持团体对患有疾病的成年人的有效性:系统回顾和荟萃分析
- 批准号:
406413 - 财政年份:2018
- 资助金额:
$ 2.4万 - 项目类别:
Studentship Programs
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
- 批准号:
DGECR-2018-00019 - 财政年份:2018
- 资助金额:
$ 2.4万 - 项目类别:
Discovery Launch Supplement