A Program Complexity Measure using the Slice-based Information Flow Graph(SIFG)

SIFG를 이용한 프로그램 복잡도 척도

  • 최완규 (광주대학교 컴퓨터전자통신공학부) ;
  • 정일용 (조선대학교 컴퓨터공학과) ;
  • 이성주 (조선대학교 컴퓨터공학부)
  • Published : 2001.12.01

Abstract

We developed a SIFC(Slice-based Information Flow Graph) For modeling the information flow on program on the basis of the information flow of a data tokens on program slices. Then we defined a SCM(Slice-based Complexity Measure) for measuring the program complexity by measuring the complexity of information flow on SIFG, We showed that, according to Zuse's approach, it assumed ordinal scale based on atomic modifications on SIFG and that it was additive to binary operation MBSEQ and that it was not additive to binary operation MBALT but satisfied Weyuker's 9th axiom. Also based on comparison with the existing measures, we showed that SCM could measure not only the control and data flow in program but also the physical size of program.

본 논문은 프로그램 슬라이스에서의 데이타 토큰들의 정보 흐름에 기초하여 프로그램에서의 정보 흐름을 모델링하기 SIF(Slice-based Information Flow Graph)를 개발하였다 다음으로, SIFG에서 의 정보 흐름의 복잡도 측정을 통해서 프로그램의 복잡도를 측정하기 위해 SCM(Slice based Complexity Measure)을 정의하였다. Zuse의 방법에 따라. 본 연구에서는 SIFC에서의 극소 수정(atomic modifica- tion을 통해 SCM이 순서척도가 됨을 보여주었고, 이항 연산 MBSEQ에 대해서 SCM이 가법성을 만족함을 보여주었고, 이항 연산 MBALP 에 대해서는 Zuse의 가법성을 만족하지 않지만 Weyuker의 9번째 공리를 만족함을 보여주었다. 또한 기존 척도들과의 비교를 통해서. SCM이 프로그램 내에서의 제어와 데이타 흐름뿐만 아니라 프로그램의 물리적 크기를 반영하는 측정이 이루어진다는 것을 보여주었다.

Keywords

References

  1. Karl J, Ottensteion, Linda M, Ottensteion, 'The program dependence graph in a software development environment,' Proceeding of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environment, ACM SIGPLAN Notices, vol.19, no.5, pp.177-184, 1984 https://doi.org/10.1145/800020.808263
  2. M. Weiser, 'Programmers use slices when debuggung,' Communication of the ACM, vol.25, no.7, pp.446-452, 1982 https://doi.org/10.1145/358557.358577
  3. M. Weiser, 'Program slicing,' In Prodeedings of the 5th International conference on Software Engineering, pp.439-449, 1981
  4. B.A. Kitchenharn, N. Fenton, S. Lawrence, 'Towards a framework for software measurement validation,' IEEE Transaction Software Engineering, vol.21 , no.12, pp.929944, 1995 https://doi.org/10.1109/32.489070
  5. Horst Zuse, Software Complexity-Measures and Methods, pp.25-37, Walter de Gruyter, New York, 1991
  6. J,M.Bieman, L.M.Otto, 'Measuring functional cohesion,' IEEE Transaction Software Engineering, vol.20, no.2, pp.111-124, 1994 https://doi.org/10.1109/32.310673
  7. Lnda M. Otto, 'Using Slice Profiles and Metrics during Software Maintenance,' Proc. 10th Annual Software Reliability Symposium, 1992
  8. Linda M. Ott, Jeffrey J, Thuss, 'Slice based metrics for estimating cohesion,' Proc. IEEE-CS International Software Metrics Symposium, Baltimore, pp.71-81, 1993
  9. J,M.Bieman, B.K.Kang, 'Measuring design-level cohesion,' IEEE Transaction Software Engineering, vol.24, no.2, pp.111-124 1998 https://doi.org/10.1109/32.666825
  10. G. Pods, B. Dedene, 'Comments on Property-Based Software Engineering Measurement,' IEEE Transaction Software Engineering, vol.23, no.3, pp.190-195, 1997 https://doi.org/10.1109/32.585508
  11. Horst Zuse, 'Reply to: Property-Based Software Engineering Measurement,' IEEE Transaction Software Engineering, vol.23, no.8, pp.533, 1997 https://doi.org/10.1109/32.624309
  12. E.Weyuker, 'Evaluating software complexity measure,' IEEE Transaction Software Engineering, vol.14, no.9, pp.1357-1456, 1988 https://doi.org/10.1109/32.6178
  13. 이철희 등. 소프트웨어 공학, 서울:홍릉과학 출판사, 1989
  14. Arthur, L. J.. Measuring Programmer Productivity and Software Quality, pp.138-142, New York:John Wiley & Sons, 1985
  15. Shen,V. Y. Conte, S. D. Dunsmore, H. E .. 'Software Science Revisited A Critical Analysis of the Theory and its Empirical Support.'. IEEE Transactions On Software Engineering vol.9. pp.308-320, 1976
  16. 최완규, '러프논리와 퍼지척도에 기반한 재사용 결정지원 모델
  17. Linda M. Otto, Jeffrey J. Thuss, 'The Relationship between Slices and Module Cohesion,' Proc. 11th ICSE, 1989
  18. Kyle Loudon, Algorithms with C: O'REILLY, 1999
  19. 김은정, 박양규, SPSS 통계분석 서울:21세기사, 2000
  20. Schneidewind, N.F., 'Methodology For Validating Software Metrics,' IEEE Transaction, On Software Engineering, vol.18, pp.410-422, 1992 https://doi.org/10.1109/32.135774