Proceedings of the 2012 International Symposium on Software Testing and Analysis 2012
DOI: 10.1145/2338965.2336754
|View full text |Cite
|
Sign up to set email alerts
|

RefaFlex: safer refactorings for reflective Java programs

Abstract: If programs access types and members through reflection, refactoring tools cannot guarantee that refactorings on those programs are behavior preserving. Refactoring approaches for highly reflective languages like Smalltalk therefore check behavior preservation using regression testing.In this paper we propose RefaFlex, a novel and more defensive approach towards the refactoring of reflective (Java) programs. RefaFlex uses a dynamic program analysis to log reflective calls during test runs and then uses this in… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
8
0

Year Published

2014
2014
2021
2021

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 12 publications
(8 citation statements)
references
References 30 publications
0
8
0
Order By: Relevance
“…Therefore, we analyze the execution of unit tests associated with each project. Using unit tests as scenarios for dynamic analysis has been reported also in other tools [26,29]. However, we are aware that unit test scenarios may be biased, and consequently, our dynamic analysis could be just a lower bound approximation.…”
Section: Dynamic Analysis Of Predicatesmentioning
confidence: 94%
“…Therefore, we analyze the execution of unit tests associated with each project. Using unit tests as scenarios for dynamic analysis has been reported also in other tools [26,29]. However, we are aware that unit test scenarios may be biased, and consequently, our dynamic analysis could be just a lower bound approximation.…”
Section: Dynamic Analysis Of Predicatesmentioning
confidence: 94%
“…3.2.1 Dynamic Analysis. We can obtain reflective edges dynamically as was done in previous work on reflection analysis for other testing or analysis tasks, e.g., by Bodden et al [2011] and Thies and Bodden [2012]; we refer to this technique as Dynamic Analysis. The idea is to execute the tests while instrumenting only the aforementioned four reflection methods to record the classes constructed from invocations of the reflection methods.…”
Section: Hybrid Static-dynamic Reflection Detectionmentioning
confidence: 99%
“…Many researchers studied the impact of reflection in modern programming languages on static analysis [Barros et al 2015;Bodden et al 2011;Li et al 2016aLi et al ,b, 2014Li et al , 2015bLivshits et al 2015;Thies and Bodden 2012]. However, none of the existing studies investigated the impacts of reflection in the context of RTS.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…We did not specifically measure the impact of reflection in our analysis. We plan to investigate this aspect in the future using a dynamic analysis, similarly to Thies and Bodden (2012).…”
Section: Use Of Reflectionmentioning
confidence: 99%