A Slice-based Complexity Measure

슬라이스 기반 복잡도 척도

  • 문유미 (조선대학교 컴퓨터공학과) ;
  • 최완규 (광주대학교 컴퓨터전자통신공학부) ;
  • 이성주 (조선대학교 컴퓨터공학부)
  • Published : 2001.06.01

Abstract

We developed a SIFG (Slice-based Information Graph), which modelled the information flow on program on the basis of the information flow of data tokens on data slices. Then we defied a SCM (Slice-based complexity measure), which measured the program complexity by measuring the complexity of information flow on SIFG. SCM satisfied the necessary properties for complexity measure proposed by Briand et al. SCM could measure not only the control and data flow on program but also the physical size of program unlike the existing measures.

본 논문은 데이터 슬라이스에서의 데이터 토큰들의 정보 흐름에 기초하여 프로그램에서의 정보 흐름을 모델링하는 SIFG(Slicw-based information Graph)를 개발하였다. 다음으로, SIFG에서의 정보 흐름의 복잡도 측정을 통해서 프로그램의 복잡도를 측정하기 위해 SCM(Slice-based Complexity Measure)을 정의하였다. SCM은 Briand가 제시하는 복잡도 메트릭에 필요한 특성들을 만족하였고, 그리고 기존 척도들과는 달리, 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, 'Program slicing,' In Prodeedings of the 5th International conference on Software Engineering, pp.439-449, 1981
  3. 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
  4. M. Weiser, 'Program slicing,' IEEE Transaction Software Engineering, Vol.10, No.4, pp.352-357, 1984
  5. Linda M. Ott, Jeffrey J. Thuss, 'Slice based metrics for estimating cohesion,' Proc. IEEE-CS International Software Metrics Symposium, Baltimore, pp.71-81, May 1993 https://doi.org/10.1109/METRIC.1993.263799
  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. James M. Bieman, B. K. Kang, 'Cohesion and reuse in an object-oriented system,' Proceeding ACM Symposium on Software Reusability(SSR'95), pp.259-262, April, 1995 https://doi.org/10.1145/211782.211856
  8. 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
  9. B. A. Kitchenham, N. Fenton, S. Lawrence, 'Towards a framework for software measurement validation,' IEEE Transaction Software Engineering, Vol.21, No.12, pp.929-944, December, 1995 https://doi.org/10.1109/32.489070
  10. A. L. Baker, J. M. Bieman, N. E. Fenton, A. C. Melton, R. W. Whitty, 'A philosophy for software measurement,' Journal of Systems and Software, Vol.12, No.3, pp.277-281, July, 1990 https://doi.org/10.1016/0164-1212(90)90050-V
  11. Rachel Harrison, Steve J. Counsell, 'An Evaluation of MOOD set of object-oriented software metrics,' IEEE Transaction Software Engineering, Vol.24, No.6, pp.491-496, June, 1989 https://doi.org/10.1109/32.689404
  12. Luda M. Otto, 'Using Slice Profiles and Metrics during Software Maintenance,' Proc. 10th Annual Software Reliability Symposium, 1992
  13. N. Fenton, Software Metrics-A Rigorous Approach, Chapman and Hall, London, 1991
  14. E.Weyuker, 'Evaluating software complexity measure,' IEEE Transaction Software Engineering, Vol.14, No.9, pp.1357-1356, Sept. 1988 https://doi.org/10.1109/32.6178
  15. L. C. Briand, S. Morasca, V. R. Basili, 'Property-Based Software Engineering Measurement,' IEEE Transaction Software Engineering, Vol.22, No.1, pp.68-86, 1996 https://doi.org/10.1109/32.481535
  16. G. Poels, 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
  17. Horst Zuse, Software Complexity-Measures and Methods, pp.25-37, Walter de Gruyter, New York, 1991
  18. 이철희 등, 소프트웨어 공학, 홍릉과학 출판사, 서울, 1989
  19. Arthur, L. J., Measuring Programmer Productivity and Software Quality, John Wiley & Sons, New York, 1985
  20. 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 https://doi.org/10.1109/TSE.1983.236460
  21. 최완규, '러프논리와 퍼지척도에 기반한 재사용 결정지원 모델,' 박사학위 논문, 조선대학교, 2000
  22. Linda M. Otto, Jeffrey J. Thuss. 'The Relationship between Slices and Module Cohesion,' Proc. 11th ICSE, 1989
  23. 송만석, Structed PASCAL 프로그래밍, 정익사, 서울, 1994
  24. Kyle Loudon, Algorithms with C, O'REILLY, 1999
  25. 조순복, 박홍준, 터보 C 실무 프로그래밍 기법, 기한재, 1996
  26. 김우철 외, 현대통계학, 영지문화사, 1994