4541.664A Program Analysis: Theories and Practices
°ÀÇ: ¿ù/¼ö
09:30-10:45 @ 302µ¿ 208È£
Á¦´ë·Î ÀÛµ¿ÇÒ Áö¸¦ ¹Ì¸® °ËÁõÇÒ ¼ö ¾ø´Â ±â°è¼³°è´Â ¾ø´Ù. Á¦´ë·Î ¼ÀÖÀ» Áö¸¦ ¹Ì¸® °ËÁõÇÒ ¼ö ¾ø´Â °ÇÃ༳°è´Â ¾ø´Ù. Àΰø¹°µéÀÌ ÀÚ¿¬¼¼°è¿¡¼
¹®Á¦ ¾øÀÌ ÀÛµ¿ÇÒ Áö¸¦ ¹Ì¸® ¾ö¹ÐÇÏ°Ô ºÐ¼®ÇÏ´Â ¼öÇÐÀû ±â¼úµéÀº Àß ¹ß´ÞÇØ
¿Ô´Ù. ´ºÆ° ¿ªÇÐ, ¹ÌÀûºÐ ¹æÁ¤½Ä, Åë°è ¿ªÇеîÀÌ ±×·¯ÇÑ ±â¼úµéÀÏ °ÍÀÌ´Ù.
¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇؼ´Â ¾î¶²°¡?
ÀÛ¼ºÇÑ ¼ÒÇÁÆ®¿þ¾î°¡ Á¦´ë·Î ½ÇÇàµÉ Áö¸¦ ¹Ì¸® ¾ö¹ÐÇÏ°Ô È®ÀÎÇØ ÁÖ´Â
±â¼úµéÀº Àִ°¡? ÀÌ¿¡ ´ëÇÑ ´äÀÌ ÇÁ·Î±×·¥ ºÐ¼®(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:
¹®Á¦(¼÷Á¦)¸¦ Áß½ÉÀ¸·Î ÇÁ·Î±×·¥ ºÐ¼® ±â¼úÀÇ À̷аú ½ÇÁ¦¸¦ ÀÍÈù´Ù.
- 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
- Problems: design and development of static analyzers
¼÷Á¦/½ÃÇè:
90%, ±âŸ: 10%
- ¼ºÀûÀº Àý´ëÆò°¡.
- Ãâ¼® 100%´Â Çʼö. ¾î¿ ¼ö ¾ø´Â °æ¿ì´Â ¹Ýµå½Ã »çÀü Çã¶ôÀ» ¹Þ´Â´Ù.
TA:   ±èÁø¿µ, °ÁöÈÆ: {jykim, jhkang} AT ropas.snu.ac.kr
wk 1 |
preliminaries |
book5-24, slide1
|
wk 2 |
semantic formalisms I |
book25-50,
slide2
slide3
|
wk 3 |
semantic formalisms II |
windskel-book
slide4
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-1b,
|
wk 7 |
exam week |
mid-term projects
|
wk 8 |
abstract interpretation IV |
slide10-1c,
slide10-2
|
wk 9 |
abstract interpretation V |
slide11,
slide12
|
wk 10 |
type-based analysis I |
slide13,
slide14,
slide15
|
wk 11 |
type-based analysis II |
slide16,
slide17
|
wk 12 |
exam week |
final projects
|
wk * |
constraint-based analysis & model checking |
slide18,
slide19,
slide20,
slide21
|
|
|