Date and time: 11.12.2017 13:00-14:30

Speaker: Melina Mongiovi, Department of Computer Science. Federal University of Campina Grande. Brazil.

Title: Detecting overly strong preconditions in refactoring engines by disabling preconditions

Place: C121

Slides can be found here (TBA)

Abstract: Refactoring engines may have overly strong preconditions preventing developers from applying useful transformations. We find that 32% of the Eclipse and JRRT test suites are concerned with detecting overly strong preconditions. In general, developers manually write test cases, which is costly and error prone. Our previous technique detects overly strong preconditions using differential testing. However, it needs at least two refactoring engines. We propose a technique to detect overly strong preconditions in refactoring engines without needing reference implementations. We automatically generate programs and attempt to refactor them. For each rejected transformation, we attempt to apply it again after disabling the preconditions that lead the refactoring engine to reject the transformation. If it applies a behavior preserving transformation, we consider the disabled preconditions overly strong. We evaluate 10 refactorings of Eclipse and JRRT by generating 154,040 programs. We find 15 overly strong preconditions in Eclipse and 15 in JRRT. Our technique detects 11 bugs that our previous technique cannot detect while missing 5 bugs. We evaluate the technique by replacing the programs generated by DOLLY with the input programs of Eclipse and JRRT test suites. Our technique detects 14 overly strong preconditions in Eclipse and 4 in JRRT.

Melina Mongiovi is a professor in the Department of Computer Science at Federal University of Campina Grande and holds a Doctoral degree in the same university. Her PhD thesis has been awarded as the third best in Computer Science of Latin America and her Master dissertation has been awarded as the best in Software Engineering of Brazil. Her research interests in software engineering include refactoring, software testing, and program analysis.

Her visit is part of the bilateral SIU/CAPES project “Modern Refactoring” between HVL and UFCG.