作者
Brett Daniel, Danny Dig, Kely Garcia, Darko Marinov
发表日期
2007/9/7
图书
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
页码范围
185-194
简介
Refactorings are behavior-preserving program transformations that improve the design of a program. Refactoring engines are tools that automate the application of refactorings: first the user chooses a refactoring to apply, then the engine checks if the transformation is safe, and if so, transforms the program. Refactoring engines are a key component of modern IDEs, and programmers rely on them to perform refactorings. A bug in the refactoring engine can have severe consequences as it can erroneously change large bodies of source code.
We present a technique for automated testing of refactoring engines. Test inputs for refactoring engines are programs. The core of our technique is a framework for iterative generation of structurally complex test inputs. We instantiate the framework to generate abstract syntax trees that represent Java programs. We also create several kinds of oracles to automatically check that …
引用总数
20072008200920102011201220132014201520162017201820192020202120222023202442118161828132520202321141515963
学术搜索中的文章
B Daniel, D Dig, K Garcia, D Marinov - Proceedings of the the 6th joint meeting of the …, 2007