چکيده
پس از بروز خرابي در اجراي يك برنامه نرمافزاري، عامل بروز خطا مورد بررسي قرار ميگيرد. روشهاي مكانيابي خطا، خطوط مظنون به خطا در برنامه را شناسايي مينمايند. هر ميزان روش مورد استفاده براي مكانيابي خطا از پوشش بالاتري برخوردار باشد، نتيجه دقيقتري گزارش ميشود. روشهاي مكانيابي خطا معمولاً بر اساس بهبود مجموعه آزمون يا بهبود استفاده از اجراهاي برنامه ارائه شدهاند. چالشي كه در اكثر روشهاي بهبود مجموعه آزمون وجود دارد، نياز به تاريخچهاي از اجراهاي برنامه است. در شرايطي كه دسترسي به اجراهاي قبلي امكانپذير نباشد، اين روشها در عمل غيرقابل استفاده خواهند بود يا نتيجه مطلوبي حاصل نميشود. در بررسي عوامل موثر بروز خطا در اجراي برنامه، بايد جنبههاي زيادي در نظر گرفته شود. اغلب بر اساس نرخ حضور جملههاي برنامه در اجراهاي موفّق و ناموفّق، امتيازي مبتني بر مظنون به خطايي جملهها محاسبه ميگردد. نحوه محاسبه امتياز مظنون به خطايي جملهها اثر مستقيم بر دقّت الگوريتم مكانيابي خطا دارد. از طرف ديگر زماني كه برنامه داراي تعداد خط كد بالايي باشد، شاهد افت دقّت روشها خواهيم بود.
تئوري اطلاعات با ارائه يك مبناي رياضي قوي و بهرهگيري از اطلاعات بين دادهها ميتواند به عنوان راه حل براي بسياري از چالشها باشد. بهطور مثال جهت بررسي علّت بروز خطا در برنامه، مفاهيمي مانند اطلاعات متقابل و اطلاعات متقابل شرطي قابل استفاده هستند. اين مفاهيم امكان بررسي ارتباط بين مولفهها و ميزان اثر آنها در خروجي ناموفّق برنامه را فراهم ميكنند. هرچه مجموعه آزمون گستردهتري وجود داشته باشد، مسيرهاي اجرايي بيشتري از برنامه را پوشش ميدهد. مفاهيم متعددي در تئوري اطلاعات براي بررسي ميزان شباهت يا تنوع دادههاي آزمون قابل استفاده هستند. بهطور مثال با محاسبه فاصله اطلاعاتي دو مورد آزمون ميزان شباهت آنها قابل اندازهگيري است. اين مفهوم در كشف اجراهاي تصادفاً موفّق نيز قابل استفاده است. با محاسبه ميزان شباهت مسيرهاي اجرايي با نتيجه موفّق و ناموفّق، مسيرهايي با نتيجه موفّق كه مشابه مسيرهاي ناموفّق باشند، احتمالاً تصادفاً موفّق خواهند بود. اصليترين مفهوم در تئوري اطلاعات، آنتروپي است. با بررسي ميزان آنتروپي بخشهاي مختلف كد و كشف مولفهها با آنتروپي بالا، فضاي جستوجوي عامل خطا از تمام خطوط برنامه به مولفههاي شناسايي شده، محدود ميگردد. بنابراين، ميتوان ادعا نمود كه قدرت تئوري اطلاعات براي حل مسائل مكانيابي خطا بسيار كمككننده است.