DOI QR코드

DOI QR Code

Identification of the Extension Points of Design Patterns Based on Reference Flows

레퍼런스 흐름에 기반한 디자인 패턴의 확장 지점 식별

  • 김희천 (한국방송통신대학교 컴퓨터과학과) ;
  • 박찬진 (LG전자 TV연구소) ;
  • 김택수 (삼성전자 소프트웨어센터) ;
  • 유찬우 (서울대학교 전기컴퓨터공학부) ;
  • 이형원 (강릉원주대학교 컴퓨터공학과)
  • Received : 2012.05.03
  • Accepted : 2012.06.07
  • Published : 2012.08.31

Abstract

Sometimes it is not sufficient to identify design pattern instances for extension of software, because the extension points exist outside of the instances. We define reference flows, which is a process of composing an intrinsic structure of design patterns, and suggest an analysis method based on reference flows for identifying the extension points.

Acknowledgement

Supported by : 강릉원주대학교

References

  1. P. Tonella and G. Antoniol. Object oriented design pattern inference. Proc. IEEE International Conference on Software Maintenance, pp.230-238, 1999.
  2. N. Tsantalis, A. Chatzigeorgiou, G. Stephanides, and S. T. Halkidis. Design pattern detection using similarity scoring. IEEE Transactions on Software Engineering, 32:896-909, Nov., 2006. https://doi.org/10.1109/TSE.2006.112
  3. J. Dong, Y. Sun, and Y. Zhao. Design pattern detection by template matching. Proc. ACM Symposium on Applied Computing, pp.765-769, 2008.
  4. J. Niere, W. Schafer, J. P. Wadsack, L. Wendehals, and J. Welsh. Towards pattern-based design recovery. Proc. 24th International Conference on Software Engineering, pp.338-348, 2002.
  5. J. Niere, J. P. Wadsack, and L. Wendehals. Handling large search space in pattern-based reverse engineering. Proc. 11th IEEE International Workshop on Program Comprehension, pp.274-279, 2003.
  6. M. Detten and D. Travkin. An evaluation of the Reclipse tool suite based on the static analysis of JHotDraw. Technical report, Software Engineering Group, Heinz Nixdorf Institute, University of Paderborn, 2010.
  7. Y. Gueheneuc, H. Sahraoui, and F. Zaidi. Fingerprinting design patterns. Proc. 11th Working Conference on Reverse Engineering, pp.172-181, 2004.
  8. Y. Gueheneuc, J. Guyomarc'H, and H. Sahraoui. Improving design-pattern identification: a new approach and an exploratory study. Software Quality Control, 18:145-174, Mar., 2010. https://doi.org/10.1007/s11219-009-9082-y
  9. R. Wuyts. Declarative reasoning about the structure of object-oriented systems. Proc. Technology of Object- Oriented Languages and Systems, pp.112-124, 1998.
  10. A. Blewitt, A. Bundy, and I. Stark. Automatic verification of design patterns in Java. Proc. 20th IEEE/ACM International Conference on Automated software engineering, pp.224-232, 2005.
  11. N. Shi and R. A. Olsson. Reverse engineering of design patterns from Java source code. Proc. 21st IEEE/ACM International Conference on Automated Software Engineering, pp.123-134, 2006.
  12. A. Lucia, V. Deufemia, C. Gravino, and M. Risi. Improving behavioral design pattern detection through model checking. Proc. 14th European Conference on Software Maintenance and Reengineering, pp.176-185, 2010.
  13. Y. Gueheneuc and G. Antoniol. Demima: A multilayered approach for design pattern identification. IEEE Transactions on Software Engineering, 34:667-684, 2008. https://doi.org/10.1109/TSE.2008.48
  14. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable objectoriented software. Addison-Wesley Longman Publishing Co., Inc., 1995.
  15. I. Bayley and H. Zhu. Formal specification of the variants and behavioural features of design patterns. Journal of Systems and Software, 83:209-221, Feb., 2010. https://doi.org/10.1016/j.jss.2009.09.039
  16. V. T. Chakaravarthy. New results on the computability and complexity of points-to analysis. Proc. 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp.115-125, 2003.
  17. L. O. Andersen. Program analysis and specialization for the C programming language. Technical report, 1994.
  18. B. Steensgaard. Points-to analysis in almost linear time. Proc. 23rd ACM SIGPLAN SIGACT Symposium on Principles of Programming Languages, pp.32-41, 1996.
  19. http://www.sable.mcgill.ca/soot/