Leveraging Test Suites for Better Program Analysis
Leveraging Test Suites for Better Program Analysis
批准号:
RGPIN-2018-03983
负责人:
Lam, Patrick
金额:
$4.08万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2022
资助国家:
加拿大
项目状态:
已结题
起止时间:
2022-01-01 至 2023-12-31
中文摘要
最先进的程序理解工具包括静态和动态程序分析,它们是预测和推理程序行为的强大工具。开发人员使用静态和动态程序分析来改进他们的软件。例如,程序分析可以定位不想要的行为,并帮助强制执行所需的属性,包括安全属性;它还可以在程序开发期间回答开发人员的问题。任何程序分析,无论是静态的还是动态的,都可以从关于程序的额外信息中受益。现代编程方法期望开发人员与他们的软件一起维护自动化测试套件。测试套件编码开发人员对正确程序行为的理解。请考虑以下类比。一开始,一盘棋有很多种可能性。每一步都限制了玩家可用的可能性-结束游戏足够简单,即使是初学者也能分析。同样,每个测试用例都将注意力集中在程序的特定部分上。限制问题范围使分析能够对该范围内的程序行为做出强有力的保证。建议研究背后的关键思想是利用测试套件来实现更有效的程序分析。拟议研究方案的总体长期目标是发展一种静态和动态分析相结合的理论。这一理论将支持程序分析的设计,这些程序分析集成了来自源代码(如今天所做的)及其测试用例(这是新的)的信息。新颖的混合分析将利用静态分析和动态分析的优势,使用测试套件来驱动动态分析并为静态分析提供信息。动态分析可以帮助改进静态分析固有的近似值,并减少报告的误报数量。静态分析可以扩大从动态分析获得的结果的适用性。例如,该理论的具体应用包括自动检测测试套件中的不一致。关键的见解是,测试套件可以提供关于预期程序行为的额外信息,这一见解可以很容易地纳入其他人的研究计划,有助于拟议的研究的学术影响。业界对改进测试实践有广泛的兴趣。开发人员编写了大量的测试代码,并在软件维护上花费了大量的精力,这一点得到了测试套件的关键支持。提高测试套件质量和可用性的结果可以迅速被加拿大工业界采用。
英文摘要
State-of-the-art tools for understanding programs include static and dynamic program analyses, which are powerful tools for predicting and reasoning about program behaviours. Developers use static and dynamic program analysis to improve their software. For example, program analysis can locate undesirable behaviours and help enforce desired properties, including security properties; and it can answer developer questions during program development. Any program analysis, whether static or dynamic, could benefit from additional information about the program.Modern programming methodologies expect developers to maintain automated test suites along with their software. Test suites encode developer understanding of correct program behaviours.Consider the following analogy. At its outset, a game of chess allows a vast number of possibilities. Each move restricts the available possibilities for the players---endgames are simple enough for even beginners to analyze. Similarly, each test case focusses attention on specific parts of the program. Restricting the problem scope enables analyses to make strong guarantees about program behaviour within that scope.The key idea behind the proposed research is to leverage test suites to enable more effective program analyses. The overall long-term objective of the proposed research programme is to develop a theory of combined static and dynamic analysis. This theory will support the design of program analyses that integrate information from source code (as done today) and its test cases (which is novel). Novel hybrid analyses will leverage the strengths of both static and dynamic analyses, using test suites to drive the dynamic analysis and provide information for the static analysis. Dynamic analysis can help refine the approximations inherent to static analysis and reduce the number of reported false positives. Static analysis can broaden the applicability of the results obtained from dynamic analysis.Specific applications of this theory include, for instance, automatically detecting inconsistencies in test suites. The key insight, that test suites can provide additional information about expected program behaviours, is one that can easily be incorporated into others' research programmes, contributing to the proposed research's academic impact.There is widespread industry interest in improving test practices. Developers write enormous amounts of test code, and expend substantial effort on software maintenance, which is critically supported by test suites. Results that improve the quality and usability of test suites can be quickly adopted by Canadian industry.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Leveraging Test Suites for Better Program Analysis
-
批准号:RGPIN-2018-03983
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2021
-
负责人:Lam, Patrick
-
依托单位:
Leveraging Test Suites for Better Program Analysis
-
批准号:RGPIN-2018-03983
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2020
-
负责人:Lam, Patrick
-
依托单位:
Leveraging Test Suites for Better Program Analysis
-
批准号:RGPIN-2018-03983
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2019
-
负责人:Lam, Patrick
-
依托单位:
Leveraging Test Suites for Better Program Analysis
-
批准号:RGPIN-2018-03983
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2018
-
负责人:Lam, Patrick
-
依托单位:
Combining domain-specific and general-purpose languages to improve program analysis
-
批准号:356027-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.46万
-
财政年份:2017
-
负责人:Lam, Patrick
-
依托单位:
Combining domain-specific and general-purpose languages to improve program analysis
-
批准号:356027-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.46万
-
财政年份:2016
-
负责人:Lam, Patrick
-
依托单位:
Automatic refactoring of test clones
-
批准号:484446-2015
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$3.01万
-
财政年份:2016
-
负责人:Lam, Patrick
-
依托单位:
Automatic refactoring of test clones
-
批准号:484446-2015
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$2.22万
-
财政年份:2015
-
负责人:Lam, Patrick
-
依托单位:
Analyzing causes of test failures
-
批准号:485177-2015
-
项目类别:Engage Grants Program
-
资助金额:$1.82万
-
财政年份:2015
-
负责人:Lam, Patrick
-
依托单位:
Combining domain-specific and general-purpose languages to improve program analysis
-
批准号:356027-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.46万
-
财政年份:2015
-
负责人:Lam, Patrick
-
依托单位:
Combining domain-specific and general-purpose languages to improve program analysis
-
批准号:356027-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.46万
-
财政年份:2014
-
负责人:Lam, Patrick
-
依托单位:
Analysis of TrueType bytecode
-
批准号:463192-2014
-
项目类别:Engage Grants Program
-
资助金额:$1.82万
-
财政年份:2014
-
负责人:Lam, Patrick
-
依托单位:
Combining domain-specific and general-purpose languages to improve program analysis
-
批准号:356027-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.46万
-
财政年份:2013
-
负责人:Lam, Patrick
-
依托单位:
Learning from experience
-
批准号:450440-2013
-
项目类别:Engage Grants Program
-
资助金额:$1.82万
-
财政年份:2013
-
负责人:Lam, Patrick
-
依托单位:
Application Development co-op
-
批准号:447465-2013
-
项目类别:Experience Awards (previously Industrial Undergraduate Student Research Awards)
-
资助金额:$0.33万
-
财政年份:2013
-
负责人:Lam, Patrick
-
依托单位:
Software verification tools based on lightweight specifications
-
批准号:356027-2008
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.36万
-
财政年份:2012
-
负责人:Lam, Patrick
-
依托单位:
Software verification tools based on lightweight specifications
-
批准号:356027-2008
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.36万
-
财政年份:2011
-
负责人:Lam, Patrick
-
依托单位:
Software verification tools based on lightweight specifications
-
批准号:356027-2008
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.36万
-
财政年份:2010
-
负责人:Lam, Patrick
-
依托单位:
embedded systems lab
-
批准号:391201-2010
-
项目类别:Research Tools and Instruments - Category 1 (<$150,000)
-
资助金额:$4.86万
-
财政年份:2009
-
负责人:Lam, Patrick
-
依托单位:
Software verification tools based on lightweight specifications
-
批准号:356027-2008
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.36万
-
财政年份:2009
-
负责人:Lam, Patrick
-
依托单位:
国内基金
海外基金
登录
查看更多内容
数字化生态赋能TEST融合型翻译人才培养模型构建与指标体系研究
-
批准号:2023JJ50396
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2023
-
负责人:张薇
-
依托单位:
基于“Design-Build-Test”循环策略的新型紫色杆菌素组合生物合成研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2021
-
负责人:
-
依托单位:
基于广义测量的多体量子态self-test的实验研究
-
批准号:12104186
-
项目类别:青年科学基金项目(C类)
-
资助金额:30.0万元
-
批准年份:2021
-
负责人:边志浩
-
依托单位:
破解高质量低费用确定型test-per-clock测试难题的新方法
-
批准号:61804037
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2018
-
负责人:刘铁桥
-
依托单位:
基于Martingale-test理论的无监督人体行为分类算法研究
-
批准号:61403232
-
项目类别:青年科学基金项目
-
资助金额:25.0万元
-
批准年份:2014
-
负责人:卢国梁
-
依托单位: