Subir material

Suba sus trabajos a SEDICI, para mejorar notoriamente su visibilidad e impacto

 

Mostrar el registro sencillo del ítem

dc.date.accessioned 2018-02-15T15:38:35Z
dc.date.available 2018-02-15T15:38:35Z
dc.date.issued 2017
dc.identifier.uri http://sedici.unlp.edu.ar/handle/10915/64921
dc.description.abstract Defining and implementing refactorings is a nontrivial task since it is difficult to define preconditions to guarantee that the transformation preserves the program behavior. Therefore, refactoring engines may apply incorrect transformations in which the resulting program does not compile, preserve behavior, or follow the refactoring definitions. These engines may also prevent correct transformations due to overly strong preconditions. We find that 84% of the test suites of Eclipse and JRRT are concerned to detect those kinds of bugs. However, the engines still have them. Researchers have proposed a number of techniques for testing refactoring engines. Nevertheless, they may have limitations related to the bug type, program generation, time consumption, and number of refactoring engines necessary to evaluate the implementations. We propose and implement a technique to scale testing of refactoring engines. We improve expressiveness of a program generator and use a technique to skip some test inputs to improve performance. Moreover, we propose new oracles to detect behavioral changes using change impact analysis, overly strong preconditions by disabling preconditions, and transformation issues. We evaluate our technique in 28 refactoring implementations of Java (Eclipse and JRRT) and C (Eclipse) and find 119 bugs. The technique reduces the time in 96% using skips while missing only 6% of the bugs. Additionally, it finds the first failure in general in a few seconds using skips. Finally, we evaluate our proposed technique by using other test inputs, such as the input programs of Eclipse and JRRT refactoring test suites. We find 31 bugs not detected by the developers. en
dc.language en es
dc.subject Program Generation en
dc.subject Program analysis es
dc.subject Software Testing en
dc.subject Refactoring Engines en
dc.title Scaling Testing of Refactoring Engines en
dc.type Objeto de conferencia es
sedici.identifier.uri http://www.clei2017-46jaiio.sadio.org.ar/sites/default/files/Mem/CLTD/CLTD-03.pdf es
sedici.creator.person Mongiovi, Melina es
sedici.subject.materias Ciencias Informáticas es
sedici.description.fulltext true es
mods.originInfo.place Sociedad Argentina de Informática e Investigación Operativa (SADIO) es
sedici.subtype Objeto de conferencia es
sedici.rights.license Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
sedici.rights.uri http://creativecommons.org/licenses/by-sa/4.0/
sedici.date.exposure 2017-09
sedici.relation.event III Concurso Latinoamericano de Tesis de Doctorado (CLTD-CLEI)- JAIIO 46 (Córdoba, 2017). es


Descargar archivos

Este ítem aparece en la(s) siguiente(s) colección(ones)

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) Excepto donde se diga explícitamente, este item se publica bajo la siguiente licencia Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)