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.


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.

Prof. Xin GAO
Associate Professor of Computer Science, Computational Bioscience Research Center (CBRC)
King Abdullah University of Science and Technology (KAUST)
Saudi Arabia

Date & Time
11 Jan 2017 (Wednesday) 10:30 – 11:30


Organized by
Department of Mathematics