Home > Àüü±â»ç

º¸¾È Àü¹®°¡µéÀÇ ¾÷¹« ´É·ÂÀ» Çâ»ó½ÃÄÑ ÁÙ ¿ÀǼҽº µµ±¸ 4¼±

ÀÔ·Â : 2021-03-30 19:35
ÆäÀ̽ººÏ º¸³»±â Æ®À§ÅÍ º¸³»±â ³×À̹ö ¹êµå º¸³»±â Ä«Ä«¿À ½ºÅ丮 º¸³»±â ³×À̹ö ºí·Î±× º¸³»±â
º¸¾È µµ±¸µéÀº ºñ½ÎÁö¸¸, ºñ½Ñ µµ±¸¸¸ º¸¾ÈÀ» °­·ÂÇÏ°Ô ÇØ ÁÖ´Â °Ç ¾Æ´Ï´Ù. ¿ÀǼҽº Áß¿¡µµ ÃæºÐÈ÷ ÁÁÀº °ÍµéÀ» ã¾Æ³¾ ¼ö ÀÖ´Ù. ¿À´ÃÀº ÇÁ·Î±×·¥ÀÇ ÄÚµå ºÐ¼®°ú Ãë¾àÁ¡ ºÐ¼®À» µµ¿ÍÁÖ´Â µµ±¸µéÀ» ¸î °¡Áö ÃßõÇØ º»´Ù.

[º¸¾È´º½º ¹®°¡¿ë ±âÀÚ] º¸¾È Àü¹®°¡µéÀÌ ¾÷¹«¸¦ Á¦´ë·Î ¼öÇàÇÏ·Á¸é ´Ù¾çÇÑ µµ±¸µéÀÌ ÇÊ¿äÇÏ´Ù. ¹°·Ð µµ±¸µéÀÌ ÀÖ¾î¾ß¸¸ º¸¾ÈÀÌ Á¦´ë·Î ¼º¸³µÈ´Ù´Â °Ç ¾Æ´ÏÁö¸¸, ºó¼ÕÀ¸·Î Á¶Á÷ÀÇ ¾ÈÀüÀ» ¿ä±¸ÇÒ ¼ö´Â ¾ø´Ù. º¸¾È ´ã´çÀÚµéÀ» µ½´Â µµ±¸µé Áß ¿ÀǼҽº·Î Ç®·ÈÀ¸¸é¼­µµ À¯¿ëÇÑ °ÍµéÀÌ Á¦¹ý Á¸ÀçÇÑ´Ù. ±× Áß ´ÙÀ½ ¸î °¡Áö µµ±¸µéÀÌ ÃßõÇÒ ¸¸ÇÏ¿© Àû¾î º»´Ù.

[À̹ÌÁö = utoimage]


µ¶½ÃÁð(Doxygen)
µ¶½ÃÁðÀº ¹®¼­ »ý¼º±âÀÇ ÀÏÁ¾À¸·Î, Àα⠳ôÀº ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀ» ´Ù¾çÇÏ°Ô Áö¿øÇÑ´Ù. »ç¿ëÀÚµéÀº µ¶½ÃÁðÀ» ÅëÇØ Ãâó ÆÄÀϵé·ÎºÎÅÍ ÄÚµå ±¸Á¶¸¦ ÃßÃâÇÏ°í, ÄÚµå ¿ä¼Òµé °£ÀÇ °ü°è¼ºµéÀ» ÆľÇÇÒ ¼ö ÀÖ°Ô µÈ´Ù. Äڵ带 ½Ã°¢È­ ÇÏ¿© º¸¿©ÁØ´Ù°í »ý°¢ÇÏ¸é ¾î´À Á¤µµ µ¶½ÃÁð¿¡ ´ëÇØ ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶§¹®¿¡ ´ë´ÜÈ÷ º¹ÀâÇÑ ÄÚµå º£À̽º¸¦ ÅëÇÕÀûÀ¸·Î, º¸´Ù ±íÀÌ ÀÌÇØÇÏ´Â µ¥¿¡ µµ¿òÀÌ µÈ´Ù. ÄÚµåÀÇ ³í¸®Àû È帧À» ºÐ¼®ÇÏ´Â µ¥¿¡µµ À¯¿ëÇÏ°í, µû¶ó¼­ ¿©·¯ °¡Áö ¿ÀÀÛµ¿¿¡ ´ëÇÑ °Ë»ç¿Í ºÐ¼®µµ ÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù.

ÀÌ ¶§¹®¿¡ º¹ÀâÇÏ°í ¿ë·®ÀÌ Å« ÄÚµå º£À̽º¸¦ ½Ã°¢ÀûÀ¸·Î Á¡°ËÇÒ ¼ö ÀÖ°í, °£°úÇØ ¿Ô´ø ºÎºÐµéÀ» Á¤È®È÷ ¤¾î³» ²Ä²ÄÇÏ°Ô ÆÄÇìÄ¥ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. ¿¹¸¦ µé¾î ¸®´ª½º ¼öµµ ¸í·É¾î°¡ ¾î¶² ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÏ´ÂÁö ±Ã±ÝÇÏ´Ù¸é µ¶½ÃÁðÀ» ÅëÇØ ÀÌÇصµ¸¦ ³ôÀÏ ¼ö ÀÖ´Ù. ¿Á½ÃÁðÀÇ ÄÚµå´Â ¿©±â(https://github.com/doxygen/doxygen)¼­ ¿­¶÷ÀÌ °¡´ÉÇÏ´Ù.

Z3
Z3´Â ¼ÒÇÁÆ®¿þ¾î ºÐ¼®, È®ÀÎ, ÆÛ¡ ½ÇÇèÀ» À§ÇÑ µµ±¸´Ù. C/C++, ÆÄÀ̼± µî ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀ» Áö¿øÇÑ´Ù. ¸î °¡Áö Ư¼öÇÏ°Ô Á¤ÀÇµÈ Á¦¾à Á¶°ÇÀ» ¸¸Á·½ÃÅ°´Â ÇØ°áÃ¥À» ¿©·¯ °¡Áö·Î ½ÃµµÇØ º¼ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. µû¶ó¼­ ÀԷ°ª È®Àΰú °ü·ÃµÈ Á¶°ÇµéÀ» È®ÀÎÇÏ´Â µ¥¿¡ À¯¿ëÇϸç, À̸¦ ÅëÇØ Á¦ÀÛÀÚ È¤Àº °³¹ßÀÚ°¡ ¿øÄ¡ ¾Ê¾Ò´ø °á°ú°¡ ¾ß±âµÇ´Â °ÍÀ» ¹æºñÇÒ ¼ö ÀÖ´Ù.

¼öµ¿À¸·Î Äڵ带 Á¡°ËÇÏ°í, ÆÛ¡ Å×½ºÆ®¸¦ ÇÔÀ¸·Î½á ¹®Á¦°¡ µÉ ¼ö ÀÖ´Â »óŵéÀ» ¹Ì¸® ÆľÇÇÒ ¼ö ÀÖÁö¸¸ Z3¸¦ »ç¿ëÇÑ´Ù¸é º¸´Ù ±¤¹üÀ§ÇÑ ¼öÇÐÀû, ³í¸®Àû È®ÀαîÁöµµ ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. Áï ¼öµ¿À¸·Î ÇÏ´Â °Ë»ç¿¡ ´õÇÏ¿© º¸´Ù ±í°í ³ÐÀº °Ë»ç °á°ú±îÁöµµ »êÃâÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÄÚµåÀÇ ÀϺκи¸À» µû·Î ¶¼¾î °Ë»çÇÔÀ¸·Î½á ¹öÆÛ ¿À¹öÇ÷ο쳪 Á¤¼ö ¿À¹öÇ÷οì, ºÎÀûÀýÇÑ ¸Þ¸ð¸® Á¢±Ù°ú °°Àº ÀáÀçÀû ¹®Á¦µéµµ ÆľÇÇÏ´Â µ¥ µµ¿òÀ» ÁØ´Ù. ¿ª½Ã ±êÇãºê(https://github.com/Z3Prover/z3)¿¡¼­ ¿­¶÷ÀÌ °¡´ÉÇÏ´Ù.

¸®ºêÆÛÀú(LibFuzzer)
¿äÁò ÀÔ¼Ò¹®À» Ÿ°í ÀαⰡ ½É»óÄ¡ ¾ÊÀº ¼Óµµ·Î ¿Ã¶ó°¡°í ÀÖ´Â ¿ÀǼҽº µµ±¸ÀÎ ¸®ºêÆÛÀú¸¦ »©³õÀ» ¼ö ¾ø´Ù. ÆÛ¡ µµ±¸µéÀº º¸¾È ¿¬±¸¿¡ À־ »©³õÀ» ¼ö ¾ø´Â µµ±¸µéÀÌ´Ù. ƯÈ÷ »ç¿ëÀÚÀÇ ÀԷ°ªÀ» °®°¡Áö·Î ½ÇÇèÇÏ´Â µ¥¿¡ À¯¿ëÇÏ´Ù. ¸®ºêÆÛÀú´Â ´Ù¸¥ ÆÛ¡ µµ±¸µé°ú ¸¶Âù°¡Áö·Î ½Ã½ºÅÛÀ» ¸¶ºñ½ÃÅ°°Å³ª ´À¸®°Ô ¸¸µé ¼ö ÀÖ´Â ÀԷ°ªÀ» ã¾Æ³»¸ç, ½ÇÇè ´ë»óÀÌ µÇ´Â ÇÁ·Î±×·¥À» Á¡ÁøÀûÀ¸·Î Á¡°ËÇϱâ À§ÇØ Ãß°¡ÀûÀÎ ¼ø¿­°ú ġȯ °ªÀ» Àû¿ëÇϱ⵵ ÇÑ´Ù. ÀÌ ÆäÀÌÁö(https://llvm.org/docs/LibFuzzer.html)¿¡¼­ ¿­¶÷ÀÌ °¡´ÉÇÏ´Ù.

ÁöÄÚºê(Gcov)
¸¶Áö¸·À¸·Î ÃßõÇÒ ¼ö ÀÖ´Â µµ±¸´Â ÁöÄÚºê´Ù. ¡®ÄÚµå Ä¿¹ö¸®Áö(code coverage)¡¯¶ó´Â Ç׸ñ¿¡ ºÐ·ùµÇ´Â µµ±¸´Ù. ÄÚµå Ä¿¹ö¸®Áö µµ±¸µéÀº ÆÛ¡ ½ÇÇè µµ±¸µé°ú ±ÃÇÕÀÌ ¸Å¿ì ÁÁ´Ù. ÆÛ¡ µµ±¸µéÀº ¸î³¯ ¸çÄ¥ÀÌ°í ¿¬¼ÓÇؼ­ µ¹¸®´Âµ¥, ÀÌ ¶§ÀÇ ´ÜÁ¡Àº »ç¿ëÀÚ°¡ ÄÚµå º£À̽ºÀÇ ¾î´À ºÎºÐ±îÁö °Ë»ç°¡ ¿Ï·áµÇ¾ú´ÂÁö ÆľÇÇϱⰡ Èûµé´Ù´Â °ÍÀÌ´Ù.

ÄÚµå Ä¿¹ö¸®Áö µµ±¸µéÀº ÆÛ¡ ½ÇÇèÀÌ ¾î´À Á¤µµ³ª ÁøÇàµÇ¾ú´ÂÁö È®ÀÎÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. ¶§¹®¿¡ Áß°£Áß°£ »ç¿ëÀÚ°¡ °³ÀÔÇØ ½ÇÇè °úÁ¤À» Á¶Á¤ÇÒ ¼ö ÀÖ°í, ÄÚµå º£À̽ºÀÇ ¾î´À ºÎºÐµµ ºüÁöÁö ¾Ê°í ¸ðµÎ È®ÀÎÀÌ µÇµµ·Ï ¸¸µé ¼ö ÀÖ´Ù. ¶§¹®¿¡ ÆÛ¡ ½ÇÇè °á°ú°¡ º¸´Ù È®½ÇÇØÁö°í, »ç¿ëÀÚµµ ±× °á°ú¿¡ ´ëÇØ º¸´Ù ³ôÀº ÀڽۨÀ» °¡Áú ¼ö ÀÖ°Ô µÈ´Ù. ¿©±â(https://gcc.gnu.org/onlinedocs/gcc/Gcov.html)¼­ ¿­¶÷ÀÌ °¡´ÉÇÏ´Ù.

¿ÀǼҽº·Î º¸¾ÈÀ» ´õ °­·ÂÇÏ°Ô
ÇÁ·Î±×·¥À» ºÐ¼®ÇÏ°í Ãë¾àÁ¡À» ã¾Æ³»´Â ºÎºÐ¿¡ Àü¹®¼ºÀ» °¡Áø º¸¾È Àü¹®°¡µéÀº Ç×»ó »õ·Î¿î °Ë»ç µµ±¸µéÀ» ã¾Æ Çì¸Ç´Ù. ±×·± À̵éÀÇ Çʿ並 ÃæÁ·½ÃÄÑ ÁÙ ¸¸ÇÑ µµ±¸µéÀº ¿ÀǼҽº Ä¿¹Â´ÏƼ¿¡µµ ²Ï³ª ´Ù¾çÇÑ ¸ð½ÀÀ¸·Î Á¸ÀçÇÑ´Ù. ±×·¯´Ï º¸¾È Àü¹®°¡µéÀ̶ó¸é À̵û±Ý¾¿ ¿ÀǼҽº µµ±¸µéÀ» °Ë»öÇØ º¸´Â °ÍÀÌ ¾÷¹«¿¡ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ¿©±â¿¡ ¼Ò°³µÈ µ¶½ÃÁð, Z3, ¸®ºêÆÛÀú, ÁöÄÚºê ¿Ü¿¡µµ ¾µ¸¸ÇÑ °ÍµéÀ» ¾î·ÆÁö ¾Ê°Ô ã¾Æ³¾ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

±Û : ¸Å±â ÇÏ¿ì·¹±â(Maggie Jauregui), Intel
[±¹Á¦ºÎ ¹®°¡¿ë ±âÀÚ(globoan@boannews.com)]

<ÀúÀÛ±ÇÀÚ: º¸¾È´º½º(www.boannews.com) ¹«´ÜÀüÀç-Àç¹èÆ÷±ÝÁö>

  •  
  • 1
  • ÆäÀ̽ººÏ º¸³»±â Æ®À§ÅÍ º¸³»±â ³×À̹ö ¹êµå º¸³»±â Ä«Ä«¿À ½ºÅ丮 º¸³»±â ³×À̹ö ºí·Î±× º¸³»±â

  • ¡°
  •  SNS¿¡¼­µµ º¸¾È´º½º¸¦ ¹Þ¾Æº¸¼¼¿ä!! 
  • ¡±
¾Æ½ºÆ®·Ð½ÃÅ¥¸®Æ¼ ÆÄ¿öºñÁî 2023³â2¿ù23ÀÏ ½ÃÀÛ ³Ý¾Øµå ÆÄ¿öºñÁî ÁøÇà 2020³â1¿ù8ÀÏ ½ÃÀÛ~2021³â 1¿ù8ÀϱîÁö À§Áîµð¿£¿¡½º 2018
¼³¹®Á¶»ç
³»³â ȸ»ç¿¡ ²À µµÀÔÇÏ°í ½ÍÀº º¸¾È ¼Ö·ç¼Ç ¶Ç´Â Ç÷§ÆûÀº ¹«¾ùÀΰ¡¿ä?
XDR
EDR
AI º¸¾È
Á¦·ÎÆ®·¯½ºÆ®
°ø±Þ¸Á º¸¾È ü°è(SBOM)
Ŭ¶ó¿ìµå º¸¾È ¼Ö·ç¼Ç
±âŸ(´ñ±Û·Î)