DOI QR코드

DOI QR Code

소프트웨어 변경 이력의 최근 변경을 클래스 다이어그램으로 가시화하는 도구

A Class Diagramming Tool for Visualizing the Latest Revision of Software Change History

  • 심재경 (경상대학교 항공우주 및 소프트웨어공학전공) ;
  • 조희태 (경상대학교 항공우주 및 소프트웨어공학전공) ;
  • 박종열 (경상대학교 정보과학과) ;
  • 이선아 (경상대학교 항공우주 및 소프트웨어공학전공, 정보과학과)
  • 투고 : 2017.08.04
  • 심사 : 2017.12.18
  • 발행 : 2018.02.15

초록

소프트웨어 가시화 연구는 개발자들이 소프트웨어 시스템을 이해하고 코드 변경을 수행할 때 도움을 줄 수 있다는 점에서 중요하다. 최근 제시된 상향식 소프트웨어 가시화 도구들은 개발자가 직접 작업하는 코드 정보만을 보여주는 이점으로 개발자들의 작업에 도움을 줄 수 있다는 효과를 입증하고 있다. 하지만 이러한 도구들은 개발자가 탐색한 코드만 한정되게 보여주는 약점이 있다. 본 논문은 상향식 가시화 도구에서 연관이 되는 코드 정보를 제공하여 코드 탐색을 돕기 위하여 소프트웨어 개정 이력을 클래스 다이어그램으로 보이는 도구를 제시한다. 제시 도구는 개발자들이 커밋한 코드 정보를 한 번의 클릭으로 클래스 다이어그램으로 보여줌으로써, 개발자들의 코드 변경에 대한 빠른 이해를 돕는다. 또한 본 논문은 사례 연구를 통하여 개발자들이 수일동안 지속적인 변경 작업을 수행할 때 제시 도구가 유용할 수 있음을 보인다.

Software visualization can assist developers to understand a software system and change its code. The recent development of bottom-up visualization tools demonstrates the advantages by revealing the code that is directly related to a software evolution task. However, the information provided by these tools is limited to the code already investigated by the developers in that task session. To broaden the scope and provide the code information that developers should explore, we propose to present the latest revision of a software system via a class diagram. When a developer clicks on a button, the proposed tool reveals the code changes committed to a configuration management system, and facilitates the understanding of code changes. We also conduct case studies illustrating the advantages of the proposed tool.

키워드

과제정보

연구 과제 주관 기관 : 경상대학교, 한국연구재단

참고문헌

  1. M-A. Storey, "Theories, methods and tools in program comprehension: Past, present and future," Program Comprehension, 2005, IWPC 2005, Proceedings. 13th International Workshop on. IEEE, 2005.
  2. M-A. Storey, et al., "SHriMP views: an interactive environment for information visualization and navigation," CHI'02 Extended Abstracts on Human Factors in Computing Systems, ACM, 2002.
  3. Jonatan Kazmierczak, 2017, Class Visualizer, [Online] Available: https://www.class-visualizer.net/.
  4. V. Sinha, D. Karger, and R. Miller. "Relo: Helping users manage context during interactive exploratory visualization of large codebases," Visual Languages and Human-Centric Computing, 2006, VL/HCC 2006, IEEE Symposium on. IEEE, 2006.
  5. A. Bragdon, et al., "Code bubbles: a working setbased interface for code understanding and maintenance," Proc. of the SIGCHI Conference on Human Factors in Computing Systems. ACM, 2010.
  6. S. Lee, S. Kang, and M. Staats, "A Graphical Recommender for Assisting Code Exploration," 35th IEEE International Conference on Software Engineering (ICSE Formal Demonstrations 2013).
  7. S. Lee, and S. Kang, "What situational information would help developers when using a graphical code recommender?." Journal of Systems and Software 117, pp. 199-217, 2016. https://doi.org/10.1016/j.jss.2016.02.050
  8. Y. Yoon, Brad A. Myers, and S. Koo, "Visualization of fine-grained code change history," Visual Languages and Human-Centric Computing (VL/HCC), 2013 IEEE Symposium on. IEEE, 2013.
  9. M. Wittenhagen, C. Cherek, and J. Borchers, "Chronicler: Interactive exploration of source code history," Proc. of the 2016 CHI Conference on Human Factors in Computing Systems. ACM, 2016.