课题基金 / 基金详情

Utilizing Artificial Intelligence to Improve the Testing and Debugging of Concurrent Software

Utilizing Artificial Intelligence to Improve the Testing and Debugging of Concurrent Software
利用人工智能改进并发软件的测试和调试
批准号:
RGPIN-2018-06588
负责人:
Bradbury, Jeremy
金额:
$1.68万
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2019
资助国家:
加拿大
项目状态:
已结题
起止时间:
2019-01-01 至 2020-12-31

项目摘要

项目成果

Bradbury, Jeremy的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
In recent years, traditional software testing and analysis has been enhanced through the use of Artificial Intelligence (AI) techniques including meta-heuristic search-based techniques and machine learning. Furthermore, the software testing and analysis problems addressed by these methods have ranged from test suite generation to bug repair. The use cases for these AI-centric approaches has ranged from providing recommended actions to complete automation of software testing activities.******My proposed research program focuses on the application of AI techniques to assist in the testing and debugging of concurrent software. Concurrent or multi-threaded software is challenging to reason about due to non-deterministic thread scheduling. Furthermore, the non-deterministic thread scheduling of concurrent software often requires different approaches to testing, analysis and debugging then those utilized with sequential software systems. The difficultly in reasoning about concurrent software creates an even greater need for techniques that can assist software testers by providing feedback and recommendations or even by completely automating the testing and debugging process. ******Within the proposed research program, I plan to apply AI techniques from two different perspectives: ******(1) A tool-centric perspective focused on the development of new automated concurrency testing tools. There are many aspects of concurrency testing and debugging that can benefit from the application of search-based software techniques or machine learning methods. Open areas of research in this context include the localization of concurrency faults in source code as well as the prioritization of thread schedules for testing and debugging.******(2) A developer-centric perspective focused on assisting developers enhance their concurrency testing skills and perform concurrency testing tasks. On the one hand, we plan to improve concurrency testing and debugging skill development using adaptive game-based learning. The use of search-based techniques and machine learning methods to adapt a serious educational game to an individual learner is a novel application of these methods in Software Engineering. These games can also be used to train both students and professional testers in concurrency testing techniques. On the other hand, we plan to improve information presentation and visualization during testing and debugging of concurrent software. Understanding what data to display and how to display it are challenging tasks that can vary from system to system and from testing task to testing task. ******In summary, applying AI to concurrency testing problems from both of these perspectives is essential to ensure that we can help fill the need for both better concurrency testing tools and better concurrency testing professionals.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Utilizing Artificial Intelligence to Improve the Testing and Debugging of Concurrent Software
Utilizing Artificial Intelligence to Improve the Testing and Debugging of Concurrent Software
Utilizing Artificial Intelligence to Improve the Testing and Debugging of Concurrent Software
Utilizing Artificial Intelligence to Improve the Testing and Debugging of Concurrent Software
海外基金