Back to Search Start Over

Improving Performance and Maintainability of Object Cloning with Lazy Clones: An Empirical Evaluation

Authors :
Paulo Borba
Helio Fugimoto
Bruno Cartaxo
Sergio Soares
Source :
ESEM
Publication Year :
2015
Publisher :
IEEE, 2015.

Abstract

Object cloning is demanded by the prototype design pattern, copy-on-write strategy, some graph transformations, and many other scenarios. We have been developing a static analysis tool that clones objects frequently. In that context, issues related to performance, memory usage, and code maintainability might arise. Traditional deep cloning with dynamic allocation, reflection, and serialization, have not fulfilled those requirements. Thus, we developed novel implementations of lazy cloning with dynamic proxies and aspect-oriented programming (AOP). We defined benchmarks based on real workload to quantitatively assess the benefits of each implementation. AOP was chosen since it better harmonizes performance, memory usage and code maintainability. It was 88% faster than serialization, consumed 9 times less memory than reflection, and required 25 times less modifications on source code than dynamic allocation. In summary, we believe that the results can be extrapolated to broader contexts helping developers to make evidence-based decisions when object cloning is needed.

Details

Database :
OpenAIRE
Journal :
2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
Accession number :
edsair.doi...........d46439aeab317aade4f8809d206c42e1
Full Text :
https://doi.org/10.1109/esem.2015.7321202