High-confidence software evolution  

High-confidence software evolution

在线阅读下载全文

作  者:Qing GAO Jun LI Yingfei XIONG Dan HAO Xusheng XIAO Kunal TANEJA Lu ZHANG Tao XIE 

机构地区:[1]Key Laboratory of High Confidence Software Technologies,MoE Institute of Software,School of Electronics Engineering and Computer Science,Peking University,Beijing 100871,China [2]NEC Laboratories America,Inc.,Princeton,NJ 08540,USA [3]Accenture Technology Labs,San Jose,CA 95113,USA [4]Department of Computer Science,University of Illinois at Urbana-Champaign,Urbana,IL 61801,USA

出  处:《Science China(Information Sciences)》2016年第7期90-108,共19页中国科学(信息科学)(英文版)

基  金:supported by National Basic Research Program of China (Grant No. 2015AA01A202);National Natural Science Foundation of China (Grant Nos. 61421091, 61529201, 61272157, 61225007);National Science Foundation (Grant Nos. CCF-1409423, CNS-1434582, CCF-1434596, CNS-1513939, CNS-1564274)

摘  要:Software continues to evolve due to changing requirements, platforms and other environmental pressures. Modern software is dependent on frameworks, and if the frameworks evolve, the software has to evolve as well. On the other hand, the software may be changed due to changing requirements. Therefore, in high-confidence software evolution, we must consider both framework evolution and client evolution, each of which may incur faults and reduce software quality. In this article, we present a set of approaches to address some problems in high-confidence software evolution. In particular, to support framework evolution, we propose a history-based matching approach to identify a set of transformation rules between different APIs, and a transformation language to support automatic transformation. To support client evolution for high-confidence software, we propose a path-exploration-based approach to generate tests efficiently by pruning paths irrelevant to changes between versions, several coverage-based approaches to optimize test execution, and approaches to locate faults and fix memory leaks automatically. These approaches facilitate high-confidence software evolution from various aspects.Software continues to evolve due to changing requirements, platforms and other environmental pressures. Modern software is dependent on frameworks, and if the frameworks evolve, the software has to evolve as well. On the other hand, the software may be changed due to changing requirements. Therefore, in high-confidence software evolution, we must consider both framework evolution and client evolution, each of which may incur faults and reduce software quality. In this article, we present a set of approaches to address some problems in high-confidence software evolution. In particular, to support framework evolution, we propose a history-based matching approach to identify a set of transformation rules between different APIs, and a transformation language to support automatic transformation. To support client evolution for high-confidence software, we propose a path-exploration-based approach to generate tests efficiently by pruning paths irrelevant to changes between versions, several coverage-based approaches to optimize test execution, and approaches to locate faults and fix memory leaks automatically. These approaches facilitate high-confidence software evolution from various aspects.

关 键 词:software evolution high confidence software quality software development program analysis 

分 类 号:TP311.5[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象