Extracting and analyzing code dependencies for large software
Extracting and analyzing code dependencies for large software
批准号:
418918-2011
负责人:
Tan, Lin
金额:
$2.91万
依托单位:
依托单位国家:
加拿大
项目类别:
Collaborative Research and Development Grants
财政年份:
2012
资助国家:
加拿大
项目状态:
已结题
起止时间:
2012-01-01 至 2013-12-31
中文摘要
开发人员重用代码。尽管有其优点,但重用可能会导致不必要的不良代码依赖性,这已经成为大型软件公司和组织的主要问题。因此,提出的研究的两个主要目标是:(1)识别不需要的坏依赖;(2)提出替代依赖和其他依赖破坏解决方案。具体来说,我们将静态分析大型代码库,以自动识别打破依赖关系是有益的代码位置,并建议依赖关系打破解决方案。这项研究在三个关键方面是新颖的。首先,我们将扩展依赖提取和分析到数千万行代码,通过探索以前技术无法承受的新优化,因为我们对一种特殊类型的不良依赖感兴趣-跨项目/库边界的不良依赖。我们还将探索更粗粒度级别的依赖关系,以提高可伸缩性。其次,我们将分析用自然语言编写的注释和源代码,以自动建议替代依赖项。第三,我们计划利用软件配置文件来自动编译更多的源代码,这不仅有利于我们的原型进行全面的依赖提取,也有利于其他工具分析更多的代码并发现更多的错误。这项研究与加拿大软件业密切相关。该项目将与谷歌加拿大的工程师合作进行,并将产生原型和工具,谷歌工程师可以将其部署到构建管理系统和版本控制系统中。这些开发将节省计算资源,以及工程师在编译、测试和维护软件上的时间,这直接转化为成本节约。通过删除不良依赖和建议替代依赖,它还将大大提高软件质量和软件可靠性。该项目将培训11名高素质人员,其中4名为研究生,7名为本科生,他们将接触与工业有关的研究问题。这些人员将成为专业人士、企业家、研究人员和教师,为加拿大经济的增长做出贡献。
英文摘要
Developers reuse code. Despite its advantages, reuse can cause unwanted bad code dependencies, which have become major problems for large software companies and organizations. Therefore, the two main goals of the proposed research are: (1) to identify unwanted bad dependencies; and (2) suggest alternative dependencies and other dependency breaking solutions. Specifically, we will statically analyze large code bases to automatically identify code locations where breaking dependencies is beneficial, and suggest dependency breaking solutions. The proposed research is novel in three key aspects. First, we will scale the dependency extraction and analysis to tens of millions of lines of code, by exploring new optimizations that previous techniques cannot afford, as we are interested in a special type of bad dependencies --- bad dependencies across project/library boundaries. We will also explore dependencies at coarser granularity levels to improve scalability. Second, we will analyze both comments written in a natural language and source code to automatically suggest alternative dependencies. Third, we plan to leverage software configuration files to automatically compile more source code, which will benefit not only our prototype for comprehensive dependency extraction but also other tools to analyze more code and find more bugs. The proposed research is highly relevant to the Canadian software industry. The project will be conducted in collaboration with engineers from Google Canada and will result in prototypes and tools that Google engineers can deploy with their build management systems and version control systems. These developments will save computing resources, and engineers' time on compiling, testing and maintaining software, which directly translates to cost savings. By removing bad dependencies and suggesting alternative dependencies, it will also dramatically improve software quality and software reliability. The project will train 11 highly qualified personnel, 4 at the graduate level and 7 at the undergraduate level, who will be exposed to industry-relevant research problems. The personnel will become professionals, entrepreneurs, researchers, and teachers, contributing to the growth of the Canadian economy.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
History-Based Automated Program Repair
-
批准号:RGPIN-2015-05248
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.13万
-
财政年份:2019
-
负责人:Tan, Lin
-
依托单位:
History-Based Automated Program Repair
-
批准号:RGPIN-2015-05248
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.13万
-
财政年份:2018
-
负责人:Tan, Lin
-
依托单位:
Software Dependability
-
批准号:1000231535-2016
-
项目类别:Canada Research Chairs
-
资助金额:$5.46万
-
财政年份:2018
-
负责人:Tan, Lin
-
依托单位:
Deep defect and vulnerability prediction
-
批准号:505833-2017
-
项目类别:Idea to Innovation
-
资助金额:$9.11万
-
财政年份:2017
-
负责人:Tan, Lin
-
依托单位:
History-Based Automated Program Repair
-
批准号:RGPIN-2015-05248
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.13万
-
财政年份:2017
-
负责人:Tan, Lin
-
依托单位:
Leveraging text analytics to improve software testing
-
批准号:479579-2015
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$2.89万
-
财政年份:2017
-
负责人:Tan, Lin
-
依托单位:
History-Based Automated Program Repair
-
批准号:477858-2015
-
项目类别:Discovery Grants Program - Accelerator Supplements
-
资助金额:$2.91万
-
财政年份:2017
-
负责人:Tan, Lin
-
依托单位:
Software Dependability
-
批准号:1000231535-2016
-
项目类别:Canada Research Chairs
-
资助金额:$7.29万
-
财政年份:2017
-
负责人:Tan, Lin
-
依托单位:
History-Based Automated Program Repair
-
批准号:RGPIN-2015-05248
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.13万
-
财政年份:2016
-
负责人:Tan, Lin
-
依托单位:
Leveraging text analytics to improve software testing
-
批准号:479579-2015
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$2.91万
-
财政年份:2015
-
负责人:Tan, Lin
-
依托单位:
History-Based Automated Program Repair
-
批准号:477858-2015
-
项目类别:Discovery Grants Program - Accelerator Supplements
-
资助金额:$2.91万
-
财政年份:2015
-
负责人:Tan, Lin
-
依托单位:
History-Based Automated Program Repair
-
批准号:RGPIN-2015-05248
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$3.13万
-
财政年份:2015
-
负责人:Tan, Lin
-
依托单位:
Personalized defect prediction in practice
-
批准号:463476-2014
-
项目类别:Engage Grants Program
-
资助金额:$1.82万
-
财政年份:2014
-
负责人:Tan, Lin
-
依托单位:
Leveraging software semantic information to improve software reliability
-
批准号:386549-2010
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2014
-
负责人:Tan, Lin
-
依托单位:
Evaluating static analysis tools
-
批准号:448896-2013
-
项目类别:Engage Grants Program
-
资助金额:$1.82万
-
财政年份:2013
-
负责人:Tan, Lin
-
依托单位:
Extracting and analyzing code dependencies for large software
-
批准号:418918-2011
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$1.46万
-
财政年份:2013
-
负责人:Tan, Lin
-
依托单位:
Leveraging software semantic information to improve software reliability
-
批准号:386549-2010
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2013
-
负责人:Tan, Lin
-
依托单位:
Leveraging software semantic information to improve software reliability
-
批准号:386549-2010
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2012
-
负责人:Tan, Lin
-
依托单位:
Extracting and analyzing code dependencies for large software
-
批准号:418918-2011
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$2.91万
-
财政年份:2011
-
负责人:Tan, Lin
-
依托单位:
Leveraging software semantic information to improve software reliability
-
批准号:386549-2010
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2011
-
负责人:Tan, Lin
-
依托单位:
国内基金
海外基金
Computational Methods for Analyzing Toponome Data
-
批准号:60601030
-
项目类别:青年科学基金项目
-
资助金额:17.0万元
-
批准年份:2006
-
负责人:Axel Mosig
-
依托单位: