این اصطلاح اولین بار توسط خانم Grace Murray Hopper به کار گرفته شدهاست. خانم Grace Hopper به عنوان یکی از اولین برنامه نویسان زن شناخته میشود. زمانی که Grace Hopper در دانشگاه هاروارد در حال اشکالزدایی یا دیباگ کردن (debugging) کامپیوتر Mark II بودهاست، از این لغت به معنای خطا و اشکال استفاده کردهاست؛ زیرا زمانی که خانم Hopper به همراه تعدادی از متخصصین در حال بررسی کامپیوتر Mark II بودهاند، متوجه شدند که اختلال در عملکرد این کامپیوتر به دلیل وجود یک حشره در آن ایجاد شدهاست؛ بنابراین در آنجا از اصطلاح Bug به معنای نقص نرمافزاری استفاده کردند.[۲]
انواع باگ های نرم افزاری
- خطاهای منطقی: در شرایطی که منطق نرمافزار اشتباه پیادهسازی شده باشد، برای مثال اجرای نرمافزار در یک چرخه (Loop) بینهایت قرار گیرد.
- سینتکسی: زمانی که قواعد مربوط به نوشتار زبان برنامهنویسی رعایت نشوند با باگ سینتکسی مواجه میشویم؛ مثلاً از عملگر، حروف یا کاراکتر اشتباهی در کدها استفاده شود.
- محاسباتی: اگر محاسبات ریاضی در نرمافزار با خطا رو به رو شوند، مثلاً عددی تقسیم بر صفر شود یا نتیجه نهایی موردانتظار دارای خطای محاسباتی باشد.
- منابع: زمانی که در بهکارگیری منابع نرمافزاری، نرمافزار دچار خطا شود؛ مثلاً اشاره به متغیری ناموجود یا تعریفنشده در نرمافزار.
- کار تیمی: ایجاد اختلاف و خطا در کدنویسی برنامهنویسان به دلیل کدنویسی تیمی، مثلاً تفاوت در نامگذاری و مستندسازی نرمافزار.
- تعامل: نرمافزار در تعامل با بخشهای دیگر نرمافزاری و سختافزاری دچار خطا شود مانند استفاده از Api نادرست.
- چند رشتهای: زمانی که اجرای threadها در نرمافزارها دچار مشکل میشوند؛ مثلاً جایی که وظیفه A تا زمانی که وظیفه B تمام نشده باشد، ادامه نخواهد یافت، اما در عین حال، وظیفه B نمیتواند ادامه یابد تا زمانی که کار A تمام شود.
منبع:wikipedia
- مهدی
- بهمن 10, 1401
- 582 بازدید