课题基金 / 基金详情

REFactoring and TESTing ('REFTEST') Network

REFactoring and TESTing ('REFTEST') Network
重构和测试(“REFTEST”)网络
批准号:
EP/G031126/1
负责人:
Steve Counsell
金额:
$6.74万
依托单位:
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2009
资助国家:
英国
项目状态:
已结题
起止时间:
2009 至 --

项目摘要

项目成果

Steve Counsell的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
Computer systems of all types tend to deteriorate in quality as they age and grow larger. As more and more changes are applied to a system by developers as part of system maintenance (either through the occurrence of a fault or change requests by the users) the net effect is usually to render the system more difficult to maintain and, with it, the risk of investing more faults in the same system. The decline of a system in this way has come to be known as 'code decay'. A technique that attempts to reverse that decay is refactoring. Refactoring refers to a process where a system is changed in such a way that the system does not change 'what' it does, it just changes the 'way' it does it. For example, one of the simplest refactorings that a developer can do is to rename a code artefact so that the purpose of that artefact is made clearer. Another refactoring may split an excessively large code artefact into two so that the system is more manageable as a result. The benefits of refactoring therefore include more understandable code, but, more significantly, in a far easier job in the future for developers. Many different developers may need to look at and change that code so it make sense to make that code as easily understood as possible. After any change (or set of changes) is made by a developer to a system, it has to be tested to ensure that the change has been applied correctly; as important is to ensure that the same change has not adversely affected other parts of the system. One down side of a decaying and growing system is that more and more tests need to be applied after a change has been made by a developer as the system fragments. This places a burden on the developer. Making a change to code is time-consuming enough; having to test the system as well doubles the effort required. The benefits of refactoring are, as we have said, more understandable and more manageable code. If that is achieved, then there naturally follows a reduction in the testing burden, since changes are made more effectively; moreover, there are less opportunities for 'side-effects' in other parts of the system causing faults; finally there is the added benefit of a general 'stability' to the system in size and manageability as it evolves over time. Although we know much about refactoring and testing as independent activities, there are many open research issues related to the link between the two areas. In fact, the problem has turned full-circle. The code that tests the system (tests are often computer programs as well) is becoming more difficult to maintain than the code it actually tests! Even more interestingly, we have been successfully applying refactorings in the recent past to information systems used in every day life. There is a vast amount of opportunity for applying refactoring principles to the test code itself, i.e., not only to the application code, but the code that tests that application.The purpose of the proposed research is to investigate the link between these two areas from three perspectives. Firstly, opportunities for, and benefits of, refactoring of the test code as just mentioned; secondly, the theoretical aspects of the link between refactoring and testing - since all sound practical work relies on an equally sound theoretical basis. For example, are some refactorings more 'complex' than others and, if so, by how much? Thirdly, can we collect 'empirical' data from real-world systems to determine the extent of the benefits of refactoring both applications and test code? These are the research questions that the REFTEST Network will address and summarises the research.
期刊论文(2)
专著(0)
科研奖励(0)
会议论文
DOI: 10.1145/1809223.1809228
发表时间: 2010-05
期刊:
影响因子: --
作者: [S. Counsell;R. Hierons;H. Hamza;S. Black;M. Durrand]
通讯作者: S. Counsell;R. Hierons;H. Hamza;S. Black;M. Durrand
DOI: 10.1155/2010/820103
发表时间: 2010
期刊: Adv. Softw. Eng.
影响因子: --
作者: [S. Counsell;R. Hierons;H. Hamza;S. Black;M. Durrand]
通讯作者: S. Counsell;R. Hierons;H. Hamza;S. Black;M. Durrand
FAULT ANALYSES IN INDUSTRY AND ACADEMIC RESEARCH
  • 批准号:
    EP/N011627/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $13.19万
  • 财政年份:
    2016
  • 负责人:
    Steve Counsell
  • 依托单位:
ASSESSING THE QUALITY OF TEST SUITES IN INDUSTRIAL CODE ("AQUATIC")
  • 批准号:
    EP/M024083/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $42.39万
  • 财政年份:
    2015
  • 负责人:
    Steve Counsell
  • 依托单位:
Investigating code fault proneness using program slicing
  • 批准号:
    EP/E055141/1
  • 项目类别:
    Research Grant
  • 资助金额:
    $0.96万
  • 财政年份:
    2008
  • 负责人:
    Steve Counsell
  • 依托单位:
海外基金