4541.664A Program Analysis: Theories and Practices

À̱¤±Ù Kwangkeun Yi
¼ÒÇÁÆ®¿þ¾î¹«°áÁ¡ ¿¬±¸¼¾ÅÍ/ ÇÁ·Î±×·¡¹Ö ¿¬±¸½Ç/CSE/Seoul National University

°­ÀÇ: È­/¸ñ 14:30-15:45 @ 302µ¿ 209È£

¸ñÇ¥ Objectives

Á¦´ë·Î ÀÛµ¿ÇÒ Áö¸¦ ¹Ì¸® °ËÁõÇÒ ¼ö ¾ø´Â ±â°è¼³°è´Â ¾ø´Ù. Á¦´ë·Î ¼­ÀÖÀ» Áö¸¦ ¹Ì¸® °ËÁõÇÒ ¼ö ¾ø´Â °ÇÃ༳°è´Â ¾ø´Ù. Àΰø¹°µéÀÌ ÀÚ¿¬¼¼°è¿¡¼­ ¹®Á¦ ¾øÀÌ ÀÛµ¿ÇÒ Áö¸¦ ¹Ì¸® ¾ö¹ÐÇÏ°Ô ºÐ¼®ÇÏ´Â ¼öÇÐÀû ±â¼úµéÀº Àß ¹ß´ÞÇØ ¿Ô´Ù. ´ºÆ° ¿ªÇÐ, ¹ÌÀûºÐ ¹æÁ¤½Ä, Åë°è ¿ªÇеîÀÌ ±×·¯ÇÑ ±â¼úµéÀÏ °ÍÀÌ´Ù.

¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇؼ­´Â ¾î¶²°¡? ÀÛ¼ºÇÑ ¼ÒÇÁÆ®¿þ¾î°¡ Á¦´ë·Î ½ÇÇàµÉ Áö¸¦ ¹Ì¸® ¾ö¹ÐÇÏ°Ô È®ÀÎÇØ ÁÖ´Â ±â¼úµéÀº Àִ°¡? ÀÌ¿¡ ´ëÇÑ ´äÀÌ ÇÁ·Î±×·¥ ºÐ¼®(static program analysis)±â¼ú À̶ó´Â À̸§À¸·Î ¸ð¿©Áö´Â ±â¼úµéÀÌ´Ù. ±×µ¿¾È ´Ù¾çÇÑ À̸§À¸·Î ´Ù¾çÇÑ ¼öÁØ¿¡¼­ ´Ù¾çÇÑ ÇÊ¿ä¿¡ ¸ÂÃß¾î ºÒ¸®¿öÁö´Â ±â¼úµéÀ» ¸ðµÎ Æ÷¼·ÇÑ´Ù: "static analysis", "abstract interpretation", "type system", "software model checking", "data-flow analysis", "program logics and proof system" µî.

ÀÌ °­Á¿¡¼­´Â Á¤Àû ÇÁ·Î±×·¥ ºÐ¼® ±â¼úµéÀÇ À̷аú ½ÇÁ¦¸¦ ÀÍÈù´Ù. ÀÌ ¸ñÇ¥¸¦ À§Çؼ­ µÎ ºÎºÐÀ¸·Î ±¸¼ºµÈ´Ù.

  • °­ÀÇÁ᫐ Lecture-based Teaching:
    À§ÀÇ ¸ðµç ±â¼úµéÀ» ¾Æ¿ì¸¦ ¼ö ÀÖ´Â °¡Àå °­·ÂÇÑ Æ²ÀÎ ¿ä¾àÇؼ®(abstract interpretation)ÀÇ À̷аú ½ÇÁ¦¸¦ °­ÀÇ¿Í ¼÷Á¦¸¦ ÅëÇؼ­ ÀÍÈù´Ù.
  • ¹®Á¦Á᫐ Problem-based Teaching:
    °¢ ÆÀÀÇ ÇÁ·ÎÁ§Æ® °úÁ¦¸¦ Áß½ÉÀ¸·Î ÇÁ·Î±×·¥ ºÐ¼® ÀÌ·ÐÀ» ½ÇÁ¦ ÀÀ¿ë¿¡ Àû¿ëÇϸ鼭 ¼Ó³»¿ëÀ» ±¸Ã¼ÀûÀ¸·Î ÀÍÈù´Ù.

³»¿ë Contents

ÁÖÀü:
  • Preliminaries: abstract syntax, semantics, inductive definitions, logics and inference, fixpoints
  • Semantic formalisms: natural semantics, structural operational semantics, abstract machine semantics, denotational semantics
  • Abstract interpretation: abstraction, concretization, galois connection, correctness, fixpoint algorithms
Èĺ¸:
  • Type-based analysis: monomorphic type system, polymorphic type system, effect system, unification
  • Constraint-based analysis: set constraints, flow logics, constraint solving
  • Software model checking: model checking, program logics, abstraction refinement

±ÔÁ¤ Policy

  ¼÷Á¦ ¹× ½ÃÇè: 40%, ÇÁ·ÎÁ§Æ®: 60%
  • ¼ºÀûÀº Àý´ëÆò°¡.
  • Ãâ¼® 100%´Â Çʼö. ¾î¿ ¼ö ¾ø´Â °æ¿ì´Â ¹Ýµå½Ã »çÀü Çã¶ôÀ» ¹Þ´Â´Ù.
TA:   °ø¼øÈ£, ÃÖ¿øÅÂ: {soon,wtchoi} AT ropas, x1865

ÀÐÀ» ³í¹® Papers

¼÷Á¦¹× ½ÃÇè Homeworks & Exams

Áøµµ¹× ÀÚ·á Slides & Resources

wk 1 preliminaries book5-24, slide1                    
wk 2 semantic formalisms I book25-50, slide2 New, slide3 New  
wk 3 semantic formalisms II slide4 New, slide5
wk 4 abstract interpretation I book61-75, slide6, slide7
wk 5 abstract interpretation II slide8, slide9
wk 6 abstract interpretation III book74-108, slide10-1, slide10-2 New
wk 7 abstract interpretation IV slide11 New, slide12
wk 8 abstract interpretation V
wk 9 problem-based approach I
wk 10 problem-based approach II
wk 11 problem-based approach III
wk 12 problem-based approach IV
© Copyright 2008, ÀÌ ±¤±Ù Kwangkeun Yi