DOI QR코드

DOI QR Code

GML파일을 이용한 검증조건의 시각화

Visualization of Verification Condition by GML file

  • 허혜림 (인하대학교 컴퓨터.정보공학과) ;
  • 김제민 (인하대학교 컴퓨터.정보공학과) ;
  • 박준석 (인하대학교 컴퓨터.정보공학과) ;
  • 유원희 (인하대학교 컴퓨터.정보공학과)
  • Hu, Hye-Lim (Dept. of Computer Science & Information Technology, Inha University) ;
  • Kim, Je-Min (Dept. of Computer Science & Information Technology, Inha University) ;
  • Park, Joon-Seok (Dept. of Computer Science & Information Technology, Inha University) ;
  • Yoo, Weon-Hee (Dept. of Computer Science & Information Technology, Inha University)
  • 투고 : 2011.07.09
  • 심사 : 2012.05.23
  • 발행 : 2012.07.31

초록

프로그램 검증을위해 사용되는방법으로 프로그램을 검증조건으로 변환하여정리증명기를 통해 프로그램의유효성을 확인하는 방법이 있다. 검증조건 생성을 통한 프로그램의 검증의 경우 검증조건은 프로그램을 검증하기 위한 충분하고 정확한 정보를 가지고 있어야한다. 하지만 프로그램의 변환을 통해 생성된 검증조건의 경우 논리식만으로 구성되어 있어 사용자가 쉽게 그 내용을파악할 수 없다. 본 논문에서는 가독성이 떨어지는 검증조건을 시각화하는 프로그램을 구현하였다. 프로그램을 통해 검증조건을 구성하고 있는 논리식간의 관계 등을 비롯한 정보를 보다 쉽게 확인할 수 있다.

There is a method which identifies validity of program by transforming program to verification condition to verify program. If program is verified by generating verification condition, verification condition must have enough and accurate information for verifying program. However, verification condition is consisting of logical formulas, so the user cannot easily identify the verification condition. In this paper, we implemented program that visualize the poorly readable verification conditions. By the program, the users can easily identify information, such as the relationship between logical formulas that represent verification condition.

키워드

참고문헌

  1. Lilian Burdy, Yoonsik Cheon, David R. Cok, Michael D. Ernst, Joseph R. Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll. "An overview of JML tools and applications." Int. J. Softw. Tools Technol. Transf. 7, 3, pp.212-232, June 2005. https://doi.org/10.1007/s10009-004-0167-4
  2. Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, and Raymie Stata. "Extended static checking for Java." SIGPLAN Not. 37, 5, pp.234-245, May 2002. https://doi.org/10.1145/543552.512558
  3. JeMin Kim, JoonSeok Park, WeonHee Yoo, "A Design of Verification Framework for Java Bytecode", The Korea Society of Digital Industry & Infromation Management , June 2011
  4. K. Rustan M. Leino, Todd Millstein, and James B. Saxe. "Generating error traces from verification-condition counterexamples." Sci. Comput. Program. 55, 1-3, pp.209-226, March 2005. https://doi.org/10.1016/j.scico.2004.05.016
  5. Edsger Wybe Dijkstra. "A Discipline of Programming (1st ed.)." Prentice Hall PTR, Upper Saddle River, NJ, USA, 1997.
  6. Greg Nelson. "A generalization of Dijkstra's calculus." ACM Trans. Program. Lang. Syst. 11, 4, pp.517-561, October 1989. https://doi.org/10.1145/69558.69559
  7. Ralph-Johan J. Back, Abo Akademi, J. Von Wright. "Refinement Calculus: A Systematic Introduction (1st ed.)." F. B. Schneider and D. Gries (Eds.). Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1998.
  8. Cormac Flanagan and James B. Saxe. "Avoiding exponential explosion: generating compact verification conditions." In Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL '01). ACM, New York, NY, USA, pp.193-205, 2001.
  9. Mike Barnett, K. Rustan M. Leino, " Weakest-precondition of unstructured programs", ACM SIGSOFT Software Engineering Notes, v.31 n.1, pp.82-87, January 2006 https://doi.org/10.1145/1108768.1108813
  10. GML: A portable Graph File Format http://www. lkn.ei.tum.de/arbeiten/faq/guidelines/gml-tr.html
  11. SeonTae Kim, JeMin Kim, JoonSeok Park, WeonHee Yoo, "BIRS ; ByteCode Intermediate Representation With Specification" The 35th Conference of the KIPS, 18, 1, p.265-268 May 2011
  12. Andreas Gal. "Efficient Bytecode Verification and Compilation in a Virtual Machine." Ph.D. Dissertation. University of California at Irvine, Irvine, CA, USA. Advisor(s) Michael Franz. AAI3243940, 2006.
  13. K. Rustan M. Leino, James B. Saxe, and Raymie Stata. "Checking Java Programs via Guarded commands." In Proceedings of the Workshop on Object-Oriented Technology, Ana M. D. Moreira and Serge Demeyer (Eds.). Springer-Verlag, London, UK, pp.110-111, 1999.
  14. Mike Barnett, Bor-Yuh Evan Chang, Robert DeLine, Bart Jacobs, and K. Rustan M. Leino. "Boogie: A Modular Reusable Verifier for Object-Oriented Programs." In Formal Methods for Components and Objects: 4th International Symposium, FMCO 2005
  15. Jean-Christophe Filliatre, "Why : a multi-language multi-prover verification tool," LRI-CNRS UMR 8623, Universite Paris Sud, March 2003
  16. The Coq Proof Assistant. http://coq.inria.fr/.
  17. The PVS Specification and Verification System. http://pvs.csl.sri.com/.
  18. John Harrison. HOL Light. http://www.cl.cam.ac.uk/users/jrh/hol-light/.
  19. The Mizar project. http://mizar.uwb.edu.pl/.
  20. The Simplicify decision procedure(part of ESC/Java). http://research.compaq.com/SRC/esc/simplify/.
  21. Silvio Ranise and David Deharbe. The haRVey decision procedure. http://www.loria.fr/-ranise/haRVey/.

피인용 문헌

  1. Fuzzy GML Modeling Based on Vague Soft Sets vol.6, pp.1, 2017, https://doi.org/10.3390/ijgi6010010