A framework for rapid software application evolution
A framework for rapid software application evolution
批准号:
RGPIN-2017-05625
负责人:
Antoniol, Giuliano
金额:
$3.06万
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2022
资助国家:
加拿大
项目状态:
已结题
起止时间:
2022-01-01 至 2023-12-31
中文摘要
该研究项目的长期目标是利用软件分析、深度学习和基于搜索的方法来实现快速的软件进化。IBM在2012年发表了一篇题为“为什么大公司都在拥抱开源”的博客文章,其中提到降低成本是促使公司将开源代码集成到系统中的最重要因素之一。类似地,Black Duck进行了一项调查,加强了开源软件的快速和日益增长的商业采用。在他们2016年的调查“开源的未来”中,90%的公司回应说他们使用开源代码,这个数字比黑鸭2010年的调查增加了一倍多。然而,软件的重用和快速发展仍然存在很大的问题。事实上,在Bauer等人最近的一项关于谷歌重用的研究中,开发人员发现了以下三个影响软件重用的主要问题:难以使组件适应开发人员的需求、依赖关系的爆发和许可不兼容。开发人员还强调了重用工件更改所引起的连锁反应。问题是:给定一个应用程序和导致不兼容的组件的新版本,找到一组可替换的组件,这些组件可以实现所需的功能,同时最小化适应工作,最小化添加的依赖集,并与应用程序许可证和体系结构兼容。该计划的短期目标是开发一个框架,以促进软件应用程序的快速发展。它由三个部分组成:i)存储库分析/挖掘平台;Ii)应用程序推荐引擎;以及iii)用户引导的搜索优化方法。我们的平台比单个组件更复杂,它需要三个不同的研究重点。它既不是简单的代码搜索引擎,也不是数据挖掘或数据分析引擎或推荐引擎。从高级用户的角度来看,该框架获取关于组件或组件所需功能的示例代码或自然语言查询,如果可用,还会获取现有应用程序。它将提取应用程序的现有体系结构和相关信息;它将使用查询输入和提取的信息对挖掘的应用程序数据库进行查询。用户还可以指定约束和首选项,以便输出与用户的目标更相关。我们的框架将为Java、C、c++和混合(Java、C和c++)系统实例化。它将促进软件重用并降低软件开发成本。事实上,给定一个应用程序和一个要替换的组件,它将减少人工搜索、验证和适应工作;它将支持用户搜索匹配约束、首选项和查询的组件,从而减轻手动搜索和检查不太可能的应用程序/组件组合的艰巨任务。
英文摘要
The long-term goal of this research program is to leverage software analytics, deep learning and search based approaches for rapid software evolution. In a 2012 blog post by IBM titled “Why Big Companies Are Embracing Open Source,” the reduction of cost is cited as one of the most important factors that prompts companies to integrate open source code into their systems. Similarly, Black Duck conducted a survey that reinforced the rapid and increasing commercial adoption of open source software. In their 2016 survey “Future of Open Source,” 90% of the companies responded that they use open source code, and this number has more than doubled from Black Duck's 2010 survey. However, software reuse and rapid evolution is still quite problematic. Indeed, in a recent study by Bauer et al. on reuse at Google, developers identified the following three main problems impairing software reuse: difficulty to adapt the component to developers' needs, explosion of dependencies and license incompatibility. Developers also highlighted the ripple effects caused by changes in reused artifacts as problematic. The problem is: given an application and the new version of a component causing incompatibility, find a set of replacing components that implement needed functionalities while minimize the adaptation effort, minimize the set of added dependencies and are compatible with the application license and architecture. The program short term goal is to develop a framework to facilitate the rapid evolution of software applications. It combines three components: i) a repository analytic/mining platform; ii) an application recommendation engine ; and iii) a user guided search optimization approach. Our platform is more complex than the single components and it requires three different research thrusts. It is neither simply a code search engine, nor a data mining or data analytics engine or a recommendation engine. From a high-level user perspective, the framework takes sample code or natural language queries regarding a component or a component desired functionality and, if available, an existing application. It will extract the application as-is architecture and relevant information; it will use the query input and extracted information to query against a database of mined applications. The user can also specify constraints and preferences so that the output is more relevant to the user's goals. Our framework will be instantiated for Java, C, C++ and mixed (Java, C and C++) systems. It will promote software reuse and reduce software evolution costs. In fact, given an application and a to be replaced component it will reduce manual search, verification and adaptation effort; it will support the user in the search of components matching constraints, preferences and a query, thus alleviating the daunting task to manually search for and inspect unlikely applications/components combinations.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
A framework for rapid software application evolution
-
批准号:RGPIN-2017-05625
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.06万
-
财政年份:2021
-
负责人:Antoniol, Giuliano
-
依托单位:
A framework for rapid software application evolution
-
批准号:RGPIN-2017-05625
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.06万
-
财政年份:2020
-
负责人:Antoniol, Giuliano
-
依托单位:
A framework for rapid software application evolution
-
批准号:RGPIN-2017-05625
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.06万
-
财政年份:2019
-
负责人:Antoniol, Giuliano
-
依托单位:
Software change and evolution
-
批准号:1000228041-2011
-
项目类别:Canada Research Chairs
-
资助金额:$3.64万
-
财政年份:2019
-
负责人:Antoniol, Giuliano
-
依托单位:
Software change and evolution
-
批准号:1000228041-2011
-
项目类别:Canada Research Chairs
-
资助金额:$14.57万
-
财政年份:2018
-
负责人:Antoniol, Giuliano
-
依托单位:
A framework for rapid software application evolution
-
批准号:RGPIN-2017-05625
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.06万
-
财政年份:2018
-
负责人:Antoniol, Giuliano
-
依托单位:
Software change and evolution
-
批准号:1000228041-2011
-
项目类别:Canada Research Chairs
-
资助金额:$14.57万
-
财政年份:2017
-
负责人:Antoniol, Giuliano
-
依托单位:
A framework for rapid software application evolution
-
批准号:RGPIN-2017-05625
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.06万
-
财政年份:2017
-
负责人:Antoniol, Giuliano
-
依托单位:
A framework to assess Android mobile applications energy consumption and privacy policies.
-
批准号:RGPIN-2016-06385
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.26万
-
财政年份:2016
-
负责人:Antoniol, Giuliano
-
依托单位:
Software change and evolution
-
批准号:1000228041-2011
-
项目类别:Canada Research Chairs
-
资助金额:$14.57万
-
财政年份:2016
-
负责人:Antoniol, Giuliano
-
依托单位:
Software change and evolution
-
批准号:1228041-2011
-
项目类别:Canada Research Chairs
-
资助金额:$14.57万
-
财政年份:2015
-
负责人:Antoniol, Giuliano
-
依托单位:
Textual information driven software quality improvement
-
批准号:327299-2011
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.11万
-
财政年份:2015
-
负责人:Antoniol, Giuliano
-
依托单位:
Software change and evolution
-
批准号:1000228041-2011
-
项目类别:Canada Research Chairs
-
资助金额:$14.57万
-
财政年份:2014
-
负责人:Antoniol, Giuliano
-
依托单位:
Textual information driven software quality improvement
-
批准号:327299-2011
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.11万
-
财政年份:2014
-
负责人:Antoniol, Giuliano
-
依托单位:
Software change and evolution
-
批准号:1000228041-2011
-
项目类别:Canada Research Chairs
-
资助金额:$14.57万
-
财政年份:2013
-
负责人:Antoniol, Giuliano
-
依托单位:
Textual information driven software quality improvement
-
批准号:327299-2011
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.11万
-
财政年份:2013
-
负责人:Antoniol, Giuliano
-
依托单位:
Textual information driven software quality improvement
-
批准号:327299-2011
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.11万
-
财政年份:2012
-
负责人:Antoniol, Giuliano
-
依托单位:
Software change and evolution
-
批准号:1000228041-2011
-
项目类别:Canada Research Chairs
-
资助金额:$10.93万
-
财政年份:2012
-
负责人:Antoniol, Giuliano
-
依托单位:
Software Change and Evolution
-
批准号:1000202658-2004
-
项目类别:Canada Research Chairs
-
资助金额:$3.64万
-
财政年份:2012
-
负责人:Antoniol, Giuliano
-
依托单位:
Textual information driven software quality improvement
-
批准号:327299-2011
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.11万
-
财政年份:2011
-
负责人:Antoniol, Giuliano
-
依托单位:
国内基金
海外基金
Research on the Rapid Growth Mechanism of KDP Crystal
-
批准号:10774081
-
项目类别:面上项目
-
资助金额:45.0万元
-
批准年份:2007
-
负责人:滕冰
-
依托单位:
颅骨缺损修补新材料的表面改性研究及个体化快速三维成型
-
批准号:30500520
-
项目类别:青年科学基金项目
-
资助金额:25.0万元
-
批准年份:2005
-
负责人:赵元立
-
依托单位: