课题基金 / 基金详情

Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks

Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
为利用应用程序级抽象框架提供系统支持
批准号:
RGPIN-2018-06726
负责人:
Chen, TseHsun
金额:
$2.4万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2019
资助国家:
加拿大
项目状态:
已结题
起止时间:
2019-01-01 至 2020-12-31

项目摘要

项目成果

Chen, TseHsun的其他基金

相似基金

相关文献

中文摘要
翻译
现代软件开发在很大程度上依赖于应用程序级抽象框架来减少软件开发开销。例如,超过78%的Java开发人员使用对象关系映射框架来抽象数据库访问;而像Amazon这样的大公司依赖于ApacheSpark来抽象分布式数据分析。使用各种应用程序级别的抽象框架使开发人员能够专注于应用程序的业务逻辑,从而显著减少软件开发时间和成本。*然而,使用应用程序级抽象框架可能是一把双刃剑:一方面,使用这些框架有助于减少开发开销,但另一方面,错误或低效地使用它们可能会导致严重的软件质量问题。事实上,由于几个原因,抽象框架的使用不正确或不是最优的情况很常见。首先,由于对框架的理解不完整,开发人员可能会在应用程序代码中引入不正确的框架用法。其次,现代应用程序级抽象框架使开发人员可以灵活地为不同场景定制框架使用,并根据实际工作负载调整配置选项。不考虑场景和工作负载将导致框架的使用不够理想(例如,出现性能问题)。*本提案的目标是在使用应用程序级抽象框架时解决上述挑战。该提案有三个研究目标(ROS)。RO1:为了在软件开发阶段帮助开发人员,我和我的学生将提出一些技术,以自动从软件开发历史中学习特定于框架的错误模式,并进行用户研究,以了解与框架相关问题的根本原因和可能的解决方案。RO2:为了在开发和运营阶段帮助开发人员,我的学生和我将创建一种轻量级实时技术,可以从部署在生产中的应用程序中学习使用场景和典型工作负载。该技术将为开发人员提供优化与框架相关的代码和配置的建议。为了在维护阶段帮助开发人员,我和我的学生将提出一些技术,通过利用产品中的历史修复和框架使用信息来自动修复特定于框架的问题。*本研究成果将提供一个完整的解决方案,以帮助开发人员进行现代面向框架的软件开发。拟议的技术将显著提高软件质量,并降低加拿大公司的软件开发成本。拟议的研究还将培训五名高素质的人员(HQP),并允许他们为最先进的软件工程研究和实践做出贡献。
英文摘要
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.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
  • 批准号:
    RGPIN-2018-06726
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.4万
  • 财政年份:
    2022
  • 负责人:
    Chen, TseHsun
  • 依托单位:
Towards High-Quality and Intelligent Database-Centric Applications
  • 批准号:
    543656-2019
  • 项目类别:
    Collaborative Research and Development Grants
  • 资助金额:
    $4.3万
  • 财政年份:
    2021
  • 负责人:
    Chen, TseHsun
  • 依托单位:
Towards Systematic Support for Utilizing Application-Level Abstraction Frameworks
  • 批准号:
    RGPIN-2018-06726
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.4万
  • 财政年份:
    2021
  • 负责人:
    Chen, TseHsun
  • 依托单位:
Towards High-Quality and Intelligent Database-Centric Applications
  • 批准号:
    543656-2019
  • 项目类别:
    Collaborative Research and Development Grants
  • 资助金额:
    $4.3万
  • 财政年份:
    2020
  • 负责人:
    Chen, TseHsun
  • 依托单位:
海外基金