«باگ» به اینجا تغییرمسیر دارد. برای واژه پهلوی را ببینید. برای روستایی با این نام را ببینید. برای رودخانه ای در لهستان را ببینید. ، یا (به : ) نوعی خطا یا اشتباه در است که موجب نتایج اشتباه یا اجرا نشدن می‌شود. علت این اشکالات می‌تواند اشتباه در هنگام باشد. سازنده برای حل این مشکل قبل از ارائه نهایی نسخه‌هایی تحت نام یا انتشار می‌دهند تا افرادی آن‌ها را بررسی کنند و این باگ‌ها را گزارش کنند. به این افراد (به : ) می‌گویند.
 بعضی اوقات شرکت‌های سازنده به عمد یک یا چند اشکال در نسخه‌های قابل بازی قبل از انتشار، که رایگان پخش می‌کنند، می‌گذارند تا از آن‌ها جلوگیری کنند مانند بازی .
 این اصطلاح اولین بار توسط خانم Grace Murray Hopper به کار گرفته شده‌است. خانم Grace Hopper به عنوان یکی از اولین برنامه نویسان زن شناخته می‌شود. زمانی که Grace Hopper در در حال اشکال‌زدایی یا دیباگ کردن (debugging) کامپیوتر Mark II بوده‌است، از این لغت به معنای خطا و اشکال استفاده کرده‌است؛ زیرا زمانی که خانم Hopper به همراه تعدادی از متخصصین در حال بررسی کامپیوتر Mark II بوده‌اند، متوجه شدند که اختلال در عملکرد این کامپیوتر به دلیل وجود یک حشره در آن ایجاد شده‌است؛ بنابراین در آنجا از اصطلاح Bug به معنای نقص نرم‌افزاری استفاده کردند. 
 این خطاها انواع مختلفی دارند و هر کدام از این نوع‌ها در زمان خاصی تشخیص داده می‌شوند، انواع خطاهای برنامه‌نویسی به شرح زیر می‌باشد:
 
 
 
 
 
 
 بسیاری از شرکت‌های بزرگ نرم‌افزاری دنیا در ازای یافتن اشکالات نرم‌افزاری محصولاتشان جایزه‌هایی را در نظر گرفته‌اند که از معروف‌ترین آن‌ها می‌توان به جایزه نیم میلیون دلاری گوگل در مسابقات Pwn2Own که یک مسابقه یافتن باگ‌های نرم‌افزاری است نام برد
{"title": "اشکال نرم‌افزاری", "link": "https://fa.wikipedia.org//w/index.php?title=%D8%A7%D8%B4%DA%A9%D8%A7%D9%84_%D9%86%D8%B1%D9%85%E2%80%8C%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C&oldid=34333323", "language": "fa"}