QnA on Airac5
for innovative managers
Airac5 ´Â ¹«¾ùÀΰ¡?
|
C ¼ÒÇÁÆ®¿þ¾îÀÇ ¸Þ¸ð¸® Á¢±Ù ¿À·ù(buffer overrun)°¡ ÀϾ ¼ö ÀÖ´Â
¼Ò½ºÀÇ À§Ä¡¸¦ ¹Ì¸® ¸ðµÎ ÀÚµ¿À¸·Î ã¾ÆÁÖ´Â
¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛÀÌ´Ù.
C ÇÁ·Î±×·¥¿¡¼ ¸Þ¸ð¸® Á¢±ÙÀº Ç×»ó ÇÒ´çµÈ ¸Þ¸ð¸®ÀÇ
³»ºÎ¿¡ ±¹ÇÑµÇ¾ß ÇÑ´Ù. Airac5´Â ÁÖ¾îÁø C ÇÁ·Î±×·¥ÀÇ ¸ðµç ½ÇÇà
»óȲÀ» ºÐ¼®Çؼ, ÇÒ´çµÈ ¸Þ¸ð¸®¸¦ ¹þ¾î³ª¼ Á¢±ÙÇÏ´Â °æ¿ì(buffer
overrun)µéÀ» ¹Ì¸® ¸ðµÎ ã¾ÆÁØ´Ù.
|
´©±¸¸¦ À§ÇÑ ½Ã½ºÅÛÀΰ¡?
|
¹«°áÁ¡ C ÇÁ·Î±×·¥À» ÃÖ´ëÇÑ »¡¸® °³¹ßÇØ¾ß ÇÏ´Â °³¹ßÀÚ, ȤÀº C ÇÁ·Î±×·¥ ¿À·ù¸¦
ÃÖ´ëÇÑ À̸¥ ½Ã°£¿¡ ã¾Æ³»°í ½ÍÀº ¼ÒÇÁÆ®¿þ¾î Ç°Áú °ËÁõ ÆÀ.
ƯÈ÷, ±âÁ¸ÀÇ C ÇÁ·Î±×·¥ÀÇ Ä¡¸íÀûÀÎ ¿À·ùµéÀÌ ³Ê¹« ´Ê°Ô(Å×½ºÆ® Áß¿¡)
¹ß°ßµÇ´Â °íºñ¿ëÀ» °³¼±ÇÏ°í ½ÍÀº °æ¿ì, ȤÀº ¹«°áÁ¡ C ÇÁ·Î±×·¥µéÀ»
ªÀº ½Ã°£¾È¿¡ ÀÚÁÖ °³¹ßÇس»¾ß ÇÏ´Â °æ¿ì¿¡ À¯¿ëÇÑ ½Ã½ºÅÛÀÌ´Ù.
|
Å×½ºÆ®¿Í ¾î¶»°Ô ´Ù¸¥°¡?
|
Å×½ºÆ®ÀÇ ¹®Á¦Á¡µéÀ» º¸¿ÏÇØ ÁØ´Ù. Å×½ºÆ®´Â ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ¾ß ÇÑ´Ù´Â
°Í°ú, ã°íÀÚ ÇÏ´Â ¿À·ù¸¦ ¸ðµÎ ãÀ» ¼ö ¾ø´Ù´Â ¹®Á¦°¡ ÀÖ´Ù.
Airac5´Â ´ë»ó ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°Áö ¾ÊÀ¸¸é¼ ã°íÀÚ ÇÏ´Â ¿À·ùµéÀº
¸ðµÎ ã¾ÆÁØ´Ù. ÇÁ·Î±×·¥ÀÇ ¼Ò½º¸¸ ÀÖÀ¸¸é µÈ´Ù.
ÇÁ·Î±×·¥À» ½ÇÇà½Ãų ¼ö Àִ ȯ°æÀÌ ÁغñµÉ ¶§ ±îÁö ¿À·ù °ËÃâÀÌ
´ÊÃçÁö´Â °ÍÀº ¹Ù¶÷Á÷ÇÏÁö ¾Ê´Ù. Å×½ºÆ®´Â ¶Ç À¯ÇÑ°³ÀÇ ÀԷ¿¡ ´ëÇؼ¸¸ Á¦´ë·Î
ÀÛµ¿µÈ´Ù´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» »ÓÀÌ´Ù. °¡´ÉÇÑ ÀÔ·ÂÀÌ ¹«¼öÈ÷ ¸¹´Ù¸é
Å×½ºÆ®´Â ¸ðµç »óȲÀ» Ä¿¹öÇÒ ¼ö ¾ø´Ù.
|
ÇÙ½É ±â¼úÀÌ ¹«¾ùÀΰ¡?
|
Á¤Àû ÇÁ·Î±×·¥ ºÐ¼® (static program analysis) ±â¼úÀÌ´Ù.
ÀÌ ±â¼úÀº ÁÖ¾îÁø ÇÁ·Î±×·¥ÀÇ ¸ðµç ½ÇÇà»óȲÀ»
½ÇÇàÇϱâ Àü¿¡ ¹Ì¸® ¾ö¹ÐÇÏ°Ô È®ÀÎÇÏ´Â ±â¼úÀÌ´Ù.
ƯÈ÷, ±× È®ÀÎ °úÁ¤ÀÌ ¶Ç ´Ù¸¥ ¼ÒÇÁÆ®¿þ¾î(ÇÁ·Î±×·¥ ºÐ¼®±â)¸¦ ÅëÇؼ
¿ÏÀüÈ÷ ÀÚµ¿À¸·Î ÀÌ·ç¾îÁø´Ù. ºÐ¼®±â ¼ÒÇÁÆ®¿þ¾î¿¡ ÀÔ·ÂÀ¸·Î µé¾î°¡´Â
°ÍÀº, °ËÁõÇÒ ¼ÒÇÁÆ®¿þ¾î ¼Ò½ºÀÌ´Ù.
ÀÌ ±â¼úÀº Áö³ 30³â µ¿¾È ¿¬±¸°¡ ¹«¸£À;î ÀÌÁ¦ ½ÇÁ¦ ¿À·ù°ËÁõ¿¡
Àû¿ëµÇ±â ½ÃÀÛÇÏ¿´´Ù. ¿ì¸®´Â Áö³ 10³â ÀÌ»ó ÀÌ ºÐ¾ß ¿¬±¸¸¦ ¼öÇàÇØ¿Ô°í,
Áö³ÇØ ºÎÅÍ »ó¿ëÀ» ¸ñÇ¥·Î °³¹ßÇØ ¿Â ½Ã½ºÅÛÀÌ Airac5ÀÌ´Ù.
|
Á¦ÇÑÁ¡À̳ª ¼ûÀº ºñ¿ëÀº?
|
´ë»ó ¿À·ùµéÀÌ ÀÖÀ¸¸é ¸ðµÎ ã¾ÆÁÖÁö¸¸, ½ÇÁ¦ ¿À·ù°¡
¾Æ´Ñµ¥µµ ¿À·ù¶ó°í ÆÇ´ÜÇÏ´Â °æ¿ì(false alarm)°¡ ÀÖ´Ù.
¿¹¸¦µé¾î, ½ÇÁ¦ ¿À·ù°¡ 10±ºµ¥¶ó¸é ±× Àå¼ÒµéÀ» Æ÷ÇÔÇؼ 15±ºµ¥¸¦
ã¾ÆÁÖ´Â °ÝÀÌ´Ù.
ÀÌ·¯ÇÑ ÇãÀ§°æº¸¸¦ 0°³·Î ÁÙÀÌ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù.
¿À·ù¶ó°í ÆÇÁ¤µÈ ÁöÁ¡¸¶´Ù ÇãÀ§°æº¸ÀÎÁö ¾Æ´ÑÁö¸¦ »ç¶÷ÀÌ È®ÀÎÇÏ´Â °úÁ¤Àº
ÇÊ¿äÇÏ´Ù.
|
Valgrind³ª Rational PurifyPlus¿Í´Â ¾î¶»°Ô ´Ù¸¥°¡?
|
Valgrind³ª
PurifyPlus´Â ½ÇÇà½ÃÅ°¸é¼ ¿À·ù¸¦ ã¾ÆÁÖ´Â µµ±¸µéÀÌ´Ù.
Å×½ºÆ®¸¦ ÅëÇØ ¿À·ù¸¦ ã´Â °Í°ú °°´Ù.
"runtime program analysis"¶ó°í ÇÑ´Ù. Å×½ºÆ®ÀÇ ¹®Á¦Á¡µéÀ» °í½º¶õÈ÷ °¡Áø´Ù.
Airac5´Â ½ÇÇà½ÃÅ°Áö ¾Ê°í ¸ðµç ¿À·ùµéÀ» ¼Ò½º¸¦ ºÐ¼®Çؼ
ã¾ÆÁØ´Ù. "static program analysis"±â¼úÀÇ Æ¯Â¡ÀÌ´Ù.
|
±× ±â¼ú¿¡ ±â¹ÝÇÑ °æÀï Á¦Ç°µé°ú ºñ±³Çϸé?
|
Á¤Àû ÇÁ·Î±×·¥ ºÐ¼®±â¼ú¿¡ ±â¹ÝÇؼ ¿À·ù ÀÚµ¿°ËÁõ±â¿¡ ƯȵÈ
ȸ»çµéÀº ´ëÇ¥ÀûÀ¸·Î µÎ°³°¡ ÀÖ´Ù.
ÇÁ¶û½º Ecole Polytechnique Ãâ½ÅÀÇ Polyspace¿Í ¹Ì±¹ ½ºÅÄÆ÷µå´ë
Ãâ½ÅÀÇ CoverityÀÌ´Ù.
CoverityÀÇ Á¦Ç°Àº ¸ñÇ¥ÇÑ ¿À·ù(buffer overrun)¸¦ ¸ðµÎ ã¾ÆÁÖÁöµµ ¸øÇÏ°í
ÇãÀ§°æº¸µµ ÀÖ´Ù. PolyspaceÀÇ Á¦Ç°Àº ºÐ¼®ºñ¿ëÀÌ Å©°í ÇãÀ§°æº¸°¡ ¸¹´Ù.
Airac5´Â Coverity°¡ ã¾Æ³»´Â ¿À·ù¸¦ Æ÷ÇÔÇؼ Coverity°¡
³õÄ¡´Â °Í±îÁö ¸ðµÎ ã¾ÆÁÖ°í, Polyspaceº¸´Ù´Â ºÐ¼®ºñ¿ë°ú ÇãÀ§°æº¸°¡ Àû´Ù.
|
½ÃÇèÀûÀ¸·Î »ç¿ë °¡´ÉÇÑ°¡?
|
Airac5Ȩ¿¡¼ ½ÇÇàÈÀÏÀ» ³»·Á¹Þ¾Æ »ç¿ëÇØ º¼ ¼ö ÀÖ´Ù.
¿Â¶óÀÎ µ¥¸ðµµ ±×°÷¿¡¼ Á¦°øµÈ´Ù. °ø°³µÈ ¹öÁ¯Àº ½ÇÁ¦ ¹öÁ¯º¸´Ù Á¦ÇÑÁ¡ÀÌ ÀÖ´Ù.
|
¿ÏÀüÇÑ ¹öÁ¯À» »ç¿ëÇÏ·Á¸é?
|
´Ù¾çÇÑ ¶óÀ̼¾½º °è¾àÀ» ÅëÇØ ±¸¸ÅÇÒ ¼ö ÀÖ´Ù. Airac5 ÀÚü»Ó
¾Æ´Ï¶ó Àå±âÀûÀÎ "whole product service"¸¦ ±¸¸ÅÇÒ ¼ö ÀÖ´Ù.
¿¬¶ôó.
|
|