Trustworthy Refactorings

Research Team:
RMod
Team leader (HDR):
Stéphane Ducasse
Project leader:
Damien Cassou (Project contact)

Project Context

Modern development environments (e.g., Eclipse) propose refactorings. Some studies (see 1.) show that complex refactorings are rarely used. This reluctance to use complex refactorings comes from the fact that developers do not really understand how these refactorings will affect their source code. Additionally, complex refactorings require the developers to answer many questions before being applied.

Pharo (see 3.) is a new free open-source Smalltalk-inspired programming language and environment. Pharo provides a platform for innovative development both in industry and research.

Project Goal and Work Plan

Above mentioned studies propose small refactorings (see 2.) that are much easier to understand and that can be easily composed to form complex refactorings that developers can trust. The goal of this project is to implement these refactorings in Pharo and to remove the most complex ones.

Benefits to the Student

  • Understanding of how development environment are implemented;
  • Integration into a prolific research group, fond of software development and programming languages;
  • Potential integration as a master and/or PhD student either within the group or within one of its numerous partners around the world (Switzerland, Chile, Belgium, Argentina, Italy).

Benefits to the Community

  • Simple and clean refactorings will help developers make great software everyday.

References

  1. Vakilian, M., Chen, N., Moghaddam, R. Z., Negara, S., & Johnson, R. E. (2013). A Compositional Paradigm of Automating Refactorings. ECOOP'13.
  2. Negara, S., Chen, N., Vakilian, M., Johnson, R. E., & Dig, D. (2013). A Comparative Study of Manual and Automated Refactorings. ECOOP'13.
  3. A. Black, S. Ducasse, O. Nierstrasz, D. Pollet, D. Cassou, and M. Denker. (2009). Pharo by Example, Square Bracket Associates. http://pharobyexample.org