Open Access   Article Go Back

Scaling and Testing Refactoring Preconditions in Refactoring Engines

Padakanti Divya1 , Karanam Madhavi2

Section:Research Paper, Product Type: Journal Paper
Volume-6 , Issue-11 , Page no. 281-287, Nov-2018

CrossRef-DOI:   https://doi.org/10.26438/ijcse/v6i11.281287

Online published on Nov 30, 2018

Copyright © Padakanti Divya, Karanam Madhavi . This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

View this paper at   Google Scholar | DPI Digital Library

How to Cite this Paper

  • IEEE Citation
  • MLA Citation
  • APA Citation
  • BibTex Citation
  • RIS Citation

IEEE Style Citation: Padakanti Divya, Karanam Madhavi, “Scaling and Testing Refactoring Preconditions in Refactoring Engines,” International Journal of Computer Sciences and Engineering, Vol.6, Issue.11, pp.281-287, 2018.

MLA Style Citation: Padakanti Divya, Karanam Madhavi "Scaling and Testing Refactoring Preconditions in Refactoring Engines." International Journal of Computer Sciences and Engineering 6.11 (2018): 281-287.

APA Style Citation: Padakanti Divya, Karanam Madhavi, (2018). Scaling and Testing Refactoring Preconditions in Refactoring Engines. International Journal of Computer Sciences and Engineering, 6(11), 281-287.

BibTex Style Citation:
@article{Divya_2018,
author = {Padakanti Divya, Karanam Madhavi},
title = {Scaling and Testing Refactoring Preconditions in Refactoring Engines},
journal = {International Journal of Computer Sciences and Engineering},
issue_date = {11 2018},
volume = {6},
Issue = {11},
month = {11},
year = {2018},
issn = {2347-2693},
pages = {281-287},
url = {https://www.ijcseonline.org/full_paper_view.php?paper_id=3157},
doi = {https://doi.org/10.26438/ijcse/v6i11.281287}
publisher = {IJCSE, Indore, INDIA},
}

RIS Style Citation:
TY - JOUR
DO = {https://doi.org/10.26438/ijcse/v6i11.281287}
UR - https://www.ijcseonline.org/full_paper_view.php?paper_id=3157
TI - Scaling and Testing Refactoring Preconditions in Refactoring Engines
T2 - International Journal of Computer Sciences and Engineering
AU - Padakanti Divya, Karanam Madhavi
PY - 2018
DA - 2018/11/30
PB - IJCSE, Indore, INDIA
SP - 281-287
IS - 11
VL - 6
SN - 2347-2693
ER -

VIEWS PDF XML
420 283 downloads 209 downloads
  
  
           

Abstract

Demonstrating refactoring sound as for a formal semantics is viewed as a test. Designers compose test cases to check their refactoring implementations. However, it is troublesome and time expending to have a decent test suite since it requires complex sources of info (programs) and a prophet to check whether it is conceivable to apply the transformation. In the event that it is conceivable, the subsequent program must save the perceptible conduct. There are some computerized strategies for testing refactoring motors. In any case, they may have impediments identified with the program generator (comprehensiveness, setup, expressiveness), automation (sorts of prophets, bug classification), time utilization or sorts of refactoring that can be tried. This paper stretches out past system to test refactoring engines. It likewise clarifies the enhancement expressiveness of the program generator for testing more kinds of refactoring`s, such as Extract Function. Moreover, developers simply need to determine the information`s structure in an explanatory dialect. They may likewise set the system to skip some continuous test contributions to enhance performance. This additionally assesses strategy in 18 kinds of refactoring implementations of Java and distinguishes 35 bugs identified with aggregation blunders, behavioral changes, and overly strong conditions. This paper thinks about the effect of the skip on the time utilization and bug detection in this proposed method. By using a skip of 25 in the program generator, it decreases in 96%the times to test the refactoring implementations while missing only 3.9% of the bugs. In almost no time, it finds the principal failure related to aggregation blunder or behavioral change.

Key-Words / Index Term

Refactoring, overly strong preconditions, automated testing, program generation

References

[1] M. Schafer, T. Ekman, and O. de Moor, “Challenge proposal: verification of refactorings,” In PLPV, 2008, pp. 67–72.
[2] G. Soares, M. Mongiovi, and R. Gheyi, "Identifying overly strong conditions in refactoring implementations," in ICSM, 2011, pp. 173–182.
[3] G. Soares, R. Gheyi, and T. Massoni, "Automated behavioral testing of refactoring engines,” IEEE Transactions on Software Engineering, vol. 39, pp. 147–162, 2013.
[4] B. Daniel, D. Dig, K. Garcia, and D. Marinov, “Automated testing of refactoring engines,” in FSE, 2007, pp. 185–194.
[5] M. Gligoric, T. Gvero, V. Jagannath, S. Khurshid, V. Kuncak, and. Marinov, “Test generation through programming in UDITA,” in ICSE,2010, pp. 225–234.
[6] M. Gligoric, F. Behrang, Y. Li, J. Overbey, M. Hafiz, and D. Marinov, on reals"Systematic testing of refactoring engines software projects," inECOOP, 2013, pp. 629–653.
[7] D. Jackson, “Software Abstractions: Logic, Language, and Analysis.Revised edition. “The MIT Press, 2012.
[8] V. Jagannath, Y. Lee, B. Daniel, and D. Marinov, “Reducing the costs of bounded-exhaustive testing,” in FASE, 2009, pp. 171–185.
[9] M. Sch¨afer and O. Moor, “Specifying and implementing refactorings," in OOPSLA, 2010, pp. 286–301.
[10] D. Jackson, I. Schechter, and H. Shlyahter, “Alcoa: the Alloy constraint analyzer,” in ICSE, 2000, pp. 730–733.
[11] M. Mongiovi, R. Gheyi, G. Soares, L. Teixeira, and P. Borba, “Makingrefactoring safer through impact analysis,” SCP, 2014, In press.
[12] G. Soares, R. Gheyi, D. Serey, and T. Massoni, “Making program refactoring safer,” IEEE Software, vol. 27, pp. 52–57, 2010.
[13] W. Mckeeman, “Differential testing for software,” Digital TechnicalJournal, vol. 10, no. 1, pp. 100–107, 1998.
[14] E. Torlak and D. Jackson, “Kodkod: A relational model finder,” inTACAS. Wiley, 2007, pp. 632–647.
[15] G. Soares, R. Gheyi, E. Murphy-Hill, and B. Johnson, “comparing approaches to Analyze Refactoring Activity on Software Repositories, "JSS, pp. 1006–1022, 2013.
[16] W. Opdyke, “Refactoring Object-Oriented frameworks,” Ph.D. dissertation, the University of Illinois at Urbana-Champaign, 1992.

[17] L. Tokuda and D. Batory, “Evolving object-oriented designs with refactorings,” ASE, vol. 8, pp. 89–120, 2001.
[18] A. Garrido and R. Johnson, “Refactoring C with conditional compilation," in ASE, 2003, pp. 323–326.
[19] A. Garrido and R. E. Johnson, “Analyzing multiple configurations of a program,” in ICSM, 2005, pp. 379–388.
[20] F. Steinmann and A. Thies, “From public to private to absent: RefactoringJava programs under constrained accessibility,” in ECOOP, 2009, pp.419–443.
[21] P. Borba, A. Sampaio, A. Cavalcanti, and M. Cornelio, “Algebraic reasoning for Object-Oriented programming,” “SCP, vol. 52, pp. 53–100,2004.
[22] L. Silva, A. Sampaio, and Z. Liu, “Laws of Object-Orientation with reference semantics,” in SEFM, 2008, pp. 217–226.
[23] H. Li and S. Thompson, “Testing ErlangRefactorings withQuickCheck,” in IFL, 2008, pp. 19–36.
[24] M. Vakilian and R. E. Johnson, “Alternate refactoring paths reveal usability problems,” in ICSE, 2014, pp. 1–11.
[25] Melina Mongiovi Member, Rohit Gheyi, Gustavo Soares, Márcio Ribeiro, Paulo Borba, "Detecting overly strong preconditions in refactoring engines" IEEE 2017.
[26] Geeta Bagade, Shashank Joshi “Analysis of Aspect-Oriented Systems: Refactorings using AspectJ”
Vol.4, Issue .5, pp.76-80, May-2016

[27] ]Nagaveni, A. Ananda Rao, P. Radhika Raju, “Testing Refactoring Implementations of Object-Oriented Systems”
International Journal of Computer Sciences and Engineering, Vol.6 , Issue.7,pp.530-534, Jul-2018