Next generation automated software evolution refactoring at scale

Next generation automated software evolution refactoring at scale
复制标题

下一代自动化软件进化大规模重构

DOI:
--
复制
发表时间:
2020
期刊:
ESEC/SIGSOFT FSE
影响因子:
--
通讯作者:
Chris Seifried
Chris Seifried
中科院分区:
--
文献类型:
--
作者:
James Ivers;Ipek Ozkaya;R. Nord;Chris Seifried

文献摘要

被引文献

相似文献

尽管在为软件工程师提供自动化越来越多的开发任务的工具方面取得了进展,但重新设计和重新设计现有软件等复杂活动仍然是资源密集型的,或者得到了容易出错的工具的支持。行业中复杂但常见的任务,如发展大型代码库(1M+SLOC)以满足不断变化的需求,仍然依赖于昂贵的手动工作,并招致重大的技术风险。在一个示例中,我们与一个组织合作,仅开发工作估计就有14,000个小时(不包括集成和测试),以将功能与底层硬件平台隔离。这些例子在工业中随处可见。长期以来,软件工程研究一直认为为软件演化提供有效的工具是理所当然的。现在正是研究人员利用基于搜索的软件工程的进步并创建与行业相关的下一代自动化软件进化工具的时候了。为了实现这一目标,本文提出了大规模自动化重构的设想。
Despite progress in providing software engineers with tools that automate an increasing number of development tasks, complex activities like redesigning and reengineering existing software remain resource intensive or are supported by tools that are error prone. Complex, but common tasks in industry, like evolving large codebases (1M+ SLOC) to meet changing needs, still rely on costly manual efforts and incur significant technical risk. In one example, an organization that we work with estimated 14,000 hours of development work alone (excluding integration and testing) to isolate a feature from the underlying hardware platform. These examples are pervasive in industry. Software engineering research has taken providing effective tools for software evolution for granted for far too long. The time is right for research to take advantage of advances in search-based software engineering and create the next generation of industry-relevant automated software evolution tools. This paper lays out a vision for automated refactoring at scale towards this goal.