본문 바로가기
KERD
논문KCI 등재

정적 코드 내부 정보의 테이블 정규화를 통한품질 메트릭 지표들의 가시화를 위한 추출 메커니즘

Quality Visualization of Quality Metric Indicators based on Table Normalization of Static Code Building Information

0

조회

0

다운로드

1

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

현대 소프트웨어의 규모는 커지고 있다. 이에 따라 고품질 코드를 위한 정적 분석의 중요성이 커지고 있다. 코드에 대한 정적 분석을 통해결함과 복잡도를 식별하는 것이 필요하다. 이를 가시화하여 개발자 및 이해 관계자가 알기 쉽게 가이드도 필요하다. 기존 코드 가시화 연구들은정적 분석의 코드 내부 정보들을 데이터베이스 테이블에 저장하여 및 품질 지표(CK Metrics, Coupling, Number of function calls, Bed smell)에대한 계산을 질의어화 하고 추출된 정보를 가시화하는 과정을 구현하는 것에만 초점을 두었다. 이러한 연구들은 방대한 코드로부터 추출한 정보를이용하여 코드를 분석할 때 많은 시간과 자원이 소모된다는 한계점이 있다. 또한 각 코드 내 정보 테이블들이 정규화되지 않았기 때문에 코드내부의 정보(클래스, 함수, 속성 등)들에 대한 테이블 조인 연산 시 메모리 공간과 시간 소비가 발생할 수 있다. 이러한 문제들을 해결하기 위해,데이터베이스 테이블의 정규화된 설계와 이를 통한 코드 내부의 품질 메트릭 지표에 대한 추출 및 가시화 메커니즘 제안한다. 이러한 메커니즘을통해 코드 가시화 공정이 최적화되고, 개발자가 리팩토링해야 할 모듈을 가이드 할 수 있을 것으로 기대한다. 앞으로는 부분 학습도 시도할 예정이다.

Abstract

The current software becomes the huge size of source codes. Therefore it is increasing the importance and necessity of static analysisfor high-quality product. With static analysis of the code, it needs to identify the defect and complexity of the code. Through visualizingthese problems, we make it guild for developers and stakeholders to understand these problems in the source codes. Our previousvisualization research focused only on the process of storing information of the results of static analysis into the Database tables, queryingthe calculations for quality indicators (CK Metrics, Coupling, Number of function calls, Bad-smell), and then finally visualizing the extractedinformation. This approach has some limitations in that it takes a lot of time and space to analyze a code using information extractedfrom it through static analysis. That is since the tables are not normalized, it may occur to spend space and time when the tables(classes,functions, attributes, Etc.) are joined to extract information inside the code. To solve these problems, we propose a regularized designof the database tables, an extraction mechanism for quality metric indicators inside the code, and then a visualization with the extractedquality indicators on the code. Through this mechanism, we expect that the code visualization process will be optimized and that developerswill be able to guide the modules that need refactoring. In the future, we will conduct learning of some parts of this process.

참고문헌 (14)

  1. 2021 SW Convergence Survey Results Report, "J. H. Song", Software Policy & Research Institute, ~, pp.385001 (2022)
  2. 2021 Software Industry Survey, "M. H. Choi", Software Policy & Research Institute, ~, pp.127005 (2022)
  3. C. S. Park, "Effective code static analysis and visualization based on Normalization of internal code information", Proceedings of the Korea Information Processing Society Conference, 29(2), pp.85~87 (2022)
  4. X. Rival, "Introduction to static analysis : An abstract interpretation perspective" (2020), Mit Press
  5. E. J. Chikofsky, "Reverse engineering and design recovery : A taxonomy", IEEE Software, 7(1), pp.13~17 (1990)
  6. 강건희, "Open Source 기반 툴 체인화를 통한 코드 정적 분석 연구", 정보과학회 컴퓨팅의 실제 논문지, 21(2), pp.148~153 (2015), 한국정보과학회
  7. 정세준, "Automatic UML Design Extraction with Software Visualization based on Reverse Engineering", The International Journal of Advanced Smart Convergence, 10(3), pp.89~96 (2021), 한국인터넷방송통신학회[DOI]
  8. H. E. Kwon, "Extracting use case design mechanisms via programming based on reverse engineering", International Journal of Applied Engineering Research, 10(90), pp.503~505 (2015)
  9. B. K. Park, "Code visualization for performance improvement of java code for controlling smart traffic system in the smart city", Applied Sciences, 10(8) (2020)
  10. C. S. Park, "Design validation practices on design extraction of solidity’s smart contract code based on reverse engineering", Advanced and Applied Convergence Letters, 17, pp.26~31 (2021)
  11. S. R. Chidamber, "A metrics suite for object oriented design", IEEE Transactions on Software Engineering, 20(6), pp.476~493 (1994)
  12. S. R. Chidamber, "Towards a metrics suite for object oriented design", SIGPLAN, 26(11), pp.197~211 (1991)
  13. W. Li, "Object-oriented metrics that predict maintainability", Journal of Systems and Software, 23(2), pp.111~122 (1993)
  14. B. Henderson-Sellers, "Object-oriented metrics : Measures of complexity", pp.142~147 (1996), Prentice-Hall

관련 논문AI추천

이 간행물의 다른 논문 (4건)