PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Search for the memory duplicities in the Java applications using shallow and deep object comparison

Wybrane pełne teksty z tego czasopisma
Identyfikatory
Warianty tytułu
Konferencja
Federated Conference on Computer Science and Information Systems (14 ; 01-04.09.2019 ; Leipzig, Germany)
Języki publikacji
EN
Abstrakty
EN
In high-level object languages, such as Java, a problem of unnecessary duplicates of instances can easily appear. Although there can be a valid reason for maintaining several clones of the same data in the memory, often it indicates that the application can be refactored into a more efficient one. Unnecessary instances consume memory, but in case of Java applications can also have a significant impact on the application performance, as they might prolong the time needed for the garbage collection. In this paper, we are presenting a method and a tool that allows detecting duplicity in the heap dump of a Java application, based on the shallow and deep object comparison. The tool allows to identify the problematic instances in the memory and thus helps programmers to create a better application. On several case studies, we also demonstrate that the duplicates appear not only in the student projects and similar programs that often suffer from poor maintenance but also in commonly available Java tools and frameworks.
Rocznik
Tom
Strony
781--789
Opis fizyczny
Bibliogr. 23 poz., rys., wykr., tab.
Twórcy
  • NTIS - New Technologies for the Information Society, Faculty of Applied Sciences, University of West Bohemia, Univerzitni 8, Plzen, 323 00, Czech Republic
  • NTIS - New Technologies for the Information Society, Faculty of Applied Sciences, University of West Bohemia, Univerzitni 8, Plzen, 323 00, Czech Republic
Bibliografia
  • 1. N. Mitchell, E. Schonberg, and G. Sevitsky, “Four trends leading to java runtime bloat,” IEEE Software, vol. 27, no. 1, pp. 56–63, Jan 2010.
  • 2. K. Jezek and R. Lipka, “Antipatterns causing memory bloat: A case study,” in 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), Feb 2017, pp. 306–315.
  • 3. P. Liden. (2017) String deduplication in g1 (acccessed: 13 may 2019). [Online]. Available: http://openjdk.java.net/jeps/192
  • 4. K. Hadj Salem, Y. Kieffer, and S. Mancini, “Formulation and Practical Solution for the Optimization of Memory Accesses in Embedded Vision Systems,” in PROCEEDINGS OF THE 2016 FEDERATED CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SYSTEMS (FEDCSIS), ser. ACSIS-Annals of Computer Science and Information Systems, Ganzha, M and Maciaszek, L and Paprzycki, M, Ed., vol. 8, PTI; IEEE. 345 E 47TH ST, NEW YORK, NY 10017 USA: IEEE, 2016, Proceedings Paper, pp. 609–617, Federated Conference on Computer Science and Information Systems (FedCSIS), Gdansk, POLAND, SEP 11-14, 2016.
  • 5. G. Xu and A. Rountev, “Precise memory leak detection for java software using container profiling,” in 2008 ACM/IEEE 30th International Conference on Software Engineering, May 2008, pp. 151–160.
  • 6. M. Jump and K. S. McKinley, “Cork: Dynamic memory leak detection for garbage-collected languages,” SIGPLAN Not., vol. 42, no. 1, pp. 31–38, Jan. 2007. [Online]. Available: http://doi.acm.org/10.1145/1190215.1190224
  • 7. T.-H. Chen, W. Shang, Z. M. Jiang, A. E. Hassan, M. Nasser, and P. Flora, “Detecting performance anti-patterns for applications developed using object-relational mapping,” in Proceedings of the 36th International Conference on Software Engineering, ser. ICSE 2014. New York, NY, USA: ACM, 2014, pp. 1001–1012. [Online]. Available: http://doi.acm.org/10.1145/2568225.2568259
  • 8. N. Mitchell and G. Sevitsky, “The causes of bloat, the limits of health,” SIGPLAN Not., vol. 42, no. 10, pp. 245–260, Oct. 2007. [Online]. Available: http://doi.acm.org/10.1145/1297105.1297046
  • 9. A. E. Chis, N. Mitchell, E. Schonberg, G. Sevitsky, P. O’Sullivan, T. Parsons, and J. Murphy, “Patterns of memory inefficiency,” in Proceedings of the 25th European Conference on Object-oriented Programming, ser. ECOOP’11. Berlin, Heidelberg: Springer-Verlag, 2011, pp. 383–407. [Online]. Available: http://dl.acm.org/citation.cfm?id=2032497.2032523
  • 10. D. Langr and I. Simecek, “On Memory Footprints of Partitioned Sparse Matrices,” in PROCEEDINGS OF THE 2017 FEDERATED CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SYSTEMS (FEDCSIS), ser. Federated Conference on Computer Science and Information Systems, Ganzha, M and Maciaszek, L and Paprzycki, M, Ed., PTI; IEEE. 345 E 47TH ST, NEW YORK, NY 10017 USA: IEEE, 2017, Proceedings Paper, pp. 513–521, Federated Conference on Computer Science and Information Systems (FedCSIS), Prague, CZECH REPUBLIC, SEP 03-06, 2017.
  • 11. G. Xu and A. Rountev, “Detecting inefficiently-used containers to avoid bloat,” SIGPLAN Not., vol. 45, no. 6, pp. 160–173, Jun. 2010. [Online]. Available: http://doi.acm.org/10.1145/1809028.1806616
  • 12. O. Shacham, M. Vechev, and E. Yahav, “Chameleon: Adaptive selection of collections,” SIGPLAN Not., vol. 44, no. 6, pp. 408–418, Jun. 2009. [Online]. Available: http://doi.acm.org/10.1145/1543135.1542522
  • 13. A. Infante and A. Bergel, “Object equivalence: Revisiting object equality profiling (an experience report),” SIGPLAN Not., vol. 52, no. 11, pp. 27–38, Oct. 2017. [Online]. Available: http://doi.acm.org/10.1145/3170472.3133844
  • 14. D. Marinov and R. O’Callahan, “Object equality profiling,” in Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, ser. OOPSLA ’03. New York, NY, USA: ACM, 2003, pp. 313–325. [Online]. Available: http://doi.acm.org/10.1145/949305.949333
  • 15. K. Nasartschuk, M. Dombrowski, K. B. Kent, A. Micic, D. Henshall, and C. Gracie, “String deduplication during garbage collection in virtual machines,” in Proceedings of the 26th Annual International Conference on Computer Science and Software Engineering, ser. CASCON ’16. Riverton, NJ, USA: IBM Corp., 2016, pp. 250–256. [Online]. Available: http://dl.acm.org/citation.cfm?id=3049877.3049904
  • 16. K. Nasartschuk, K. B. Kent, S. A. MacKay, A. Micic, and C. Gracie, “Improving garbage collection-time string deduplication,” in Proceedings of the 27th Annual International Conference on Computer Science and Software Engineering, ser. CASCON ’17. Riverton, NJ, USA: IBM Corp., 2017, pp. 113–119. [Online]. Available: http://dl.acm.org/citation.cfm?id=3172795.3172809
  • 17. D. F. Bacon, S. J. Fink, and D. Grove, “Space- and time-efficient implementation of the java object model,” in Proceedings of the 16th European Conference on Object-Oriented Programming, ser. ECOOP ’02. Berlin, Heidelberg: Springer-Verlag, 2002, pp. 111–132. [Online]. Available: http://dl.acm.org/citation.cfm?id=646159.680023
  • 18. N. Grech, J. Rathke, and B. Fischer, “Jequalitygen: Generating equality and hashing methods,” Sigplan Notices - SIGPLAN, vol. 46, pp. 177–186, 10 2010.
  • 19. E. Aftandilian. (2018) Hprof heap dump parser (acccessed: 13 may 2019). [Online]. Available: https://github.com/eaftan/hprof-parser
  • 20. T. Potuzak and R. Lipka, “Deep object comparison for interface-based regression testing of software components,” in Proceedings of the 2018 Federated Conference on Computer Science and Information Systems, FedCSIS 2018, Poznań, Poland, September 9-12, 2018., 2018, pp. 1053–1062. [Online]. Available: https://doi.org/10.15439/2018F51
  • 21. Oracle. (2019) The jmap utility (acccessed: 13 may 2019). [Online]. Available: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr014.html
  • 22. P. Software. (2019) Spring boot 2.1.4 (acccessed: 13 may 2019). [Online]. Available: https://spring.io/projects/spring-boot
  • 23. I. Eclipse Foundation. (2019) Eclipse ide 2018-12 (acccessed: 13 may 2019). [Online]. Available: https://www.eclipse.org/downloads/
Uwagi
1. This research was supported by the project LO1506 (PUNTIS) of the Czech Ministry of Education, Youth and Sports under the program NPU I
2. Track 5: Software and System Engineering
3. Technical Session: Joint 39th IEEE Software Engineering Workshop (SEW-39) and 6th International Workshop on Cyber-Physical Systems (IWCPS-6)
4. Opracowanie rekordu ze środków MNiSW, umowa Nr 461252 w ramach programu "Społeczna odpowiedzialność nauki" - moduł: Popularyzacja nauki i promocja sportu (2020).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-f8a11645-2dbd-4a67-ad5a-2c7023867cec
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.