Logo PTI
Polish Information Processing Society
Logo FedCSIS

Annals of Computer Science and Information Systems, Volume 15

Proceedings of the 2018 Federated Conference on Computer Science and Information Systems

Deep Object Comparison for Interface-based Regression Testing of Software Components


DOI: http://dx.doi.org/10.15439/2018F51

Citation: Proceedings of the 2018 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 15, pages 10531062 ()

Full text

Abstract. In this paper, we describe the deep object comparison (DOC) algorithm, which is used for comparison of general objects in Java programming language based on their internal structures and values of primitive attributes. The DOC algorithm was designed to be utilized in our interface-based regression testing of software components, which enables to uncover subtle changes of the behavior of a component-based application under test with a newly installed version of a software component in comparison to its behavior with an old version of this component.


  1. C. Szyperski, D. Gruntz, and S. Murer, Component Software – Beyond Object-Oriented Programming, ACM Press, New York, 2000.
  2. T. Potuzak, R. Lipka, and P. Brada, “Interface-based Semi-automated Testing of Software Components,” Proceedings of the 2017 Federated Conference on Computer Science and Information Systems, Prague, September 2017, pp. 1335-1344, http://dx.doi.org/10.15439/ 2017F139
  3. The OSGi Alliance, OSGi Service Platform Core Specification, release 4, version 4.2, 2009.
  4. C. R. Rupakheti and D. Hou, “An Abstraction-Oriented, Path-Based Approach for Analyzing Object Equality in Java,” 2010 17th Working Conference on Reverse Engineering, Beverly, October 2010, pp. 205-214, http://dx.doi.org/10.1109/WCRE.2010.30
  5. C. R. Rupakheti and D. Hou, “EQ: Checking the Implementation of Equality in Java,” 2011 27th IEEE International Conference on Software Maintenance (ICSM), Williamsburg, September 2011, pp. 590-593, http://dx.doi.org/10.1109/ICSM.2011.6080837
  6. D. E. Stevenson and A. T. Phillips, “Implementing Object Equivalence in Java Using the Template Method Design Pattern,” Proceedings of the 34th SIGCSE technical symposium on Computer science education, Reno, January 2003, pp. 278-282, http://dx.doi.org/ 10.1145/611892.611987
  7. D. Marinov and R. O’Callahan, “Object Equality Profiling,” Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, Anaheim, October 2003, pp. 313-325, http://dx.doi.org/ 10.1145/949305.949333
  8. I. R. Forman, N. Forman, Java Reflection in Action, Manning Publications, 2004.
  9. K. Jezek, L. Holy, A. Slezacek, and P. Brada, “Software Components Compatibility Verification Based on Static Byte-Code Analysis,” 39th Euromicro Conference Series on Software Engineering and Advanced Applications, Santander, September 2013, pp. 145-152, http://dx.doi.org/10.1109/SEAA.2013.58
  10. A. Infante, A. Bergel, “Object Equivalence: Revisiting Object Equality Profiling (An Experience Report),” Proceedings of the 13th ACM SIGPLAN International Symposium on Dynamic Languages, Vancouver, October 2017, pp. 27-38, http://dx.doi.org/ 10.1145/3170472.3133844
  11. A. Infante, “Identifying Caching Opportunities, Effortlessly,” Companion Proceedings of the 36th International Conference on Software Engineering, Hyderabad, May 2014, pp. 730-732, http://dx.doi.org/10.1145/2591062.2591198
  12. G. Xu, “Finding Reusable Data Structures,” Proceedings of the ACM international conference on Object oriented programming systems languages and applications, Tuscon, October 2012, http://dx.doi.org/ 10.1145/2398857.2384690
  13. K. Nasartschuk, M. Dombrowski, K. B. Kent, A. Micic, D. Henshall, and C. Gracie, “String Deduplication During Garbage Collection in Virtual Machines,” Proceedings of the 26th Annual International Conference on Computer Science and Software Engineering, October 2016, pp. 250-256
  14. G. M. Rama and R. Komondoor, “A Dynamic Analysis to Support Object-Sharing Code Refactorings,”, Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, Vasteras, September 2014, pp. 713-723, http://dx.doi.org/10.1145/2642937.2642992
  15. M. J. Steindorfer and J. J. Vinju, “Performance Modeling of Maximal Sharing,” Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering, Delft, March 2016, http://dx.doi.org/10.1145/2851553.2851566
  16. N. Grech, J. Rathke, and B. Fischer, “JEqualityGen: Generating Equality and Hashing Methods,” Proceedings of the ninth international conference on Generative programming and component engineering, Eindhoven, October 2010, pp. 177-186, http://dx.doi.org/10.1145/1942788.1868320
  17. B. S. Ahmed, L. M. Gambardella, W. Afzal, and K. Z. Zamli, “Handling constraints in combinatorial interaction testing in the presence of multi objective particle swarm and multithreading,” Information and Software Technology, vol. 86, pp. 20–36, 2017 http://dx.doi.org/10.1016/j.infsof.2017.02.004
  18. M. Bures and B. S. Ahmed, “On the effectiveness of combinatorial interaction testing: A case study,” 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C), July 2017, pp. 69–76, http://dx.doi.org/10.1109/QRS-C.2017.20