Safer Refactorings with Assertions

Abstract

Refactorings often require that non-trivial semantic correctness conditions are met. IDEs such as Eclipse’s Java Development Tools rely on simpler, static pre- condition checks for refactorings. This leads to the phenomenon that a seemingly innocuous refactoring can change the behavior of the program. In this thesis we demonstrate our technique of introducing runtime checks of two particular refactorings for the Java programming language: Extract And Move Method, and Extract Local Variable. These checks can, in combination with unit tests, detect changed behavior and identify the refactoring step that introduced it.

Speaker

Dr. Volker Stolz
Bergen University College and the University of Oslo
Norway

Date & Time

3 Jan 2017 (Tuesday) 15:00 - 16:00

Venue

E11-1035 (University of Macau)

Organized by

Department of Computer and Information Science

Biography

Dr. Volker Stolz is an associate professor at the Bergen University College and the University of Oslo, Norway. He is site-leader for the European Horizon 2020 project "COEMS -- Continuous Observation of Embedded Multicore Systems", vice chair of the EU COST Action IC1402 "ARVI -- Runtime Verification Beyond Monitoring", and Visiting Professor at the Guizhou Academy of Sciences, Guiyang. Before moving to Norway, Dr. Stolz held an Assistant Research Fellow position at UNU-IIST, Macao (now UNU-CS), where he was principal investigator in the MSTDF-funded project on "Applied Runtime Verification".

His interests are formal methods in software engineering, correctness and verification of software, and programming language semantics.