بدافزار
بدافزار یا نرم‌افزار بدخواه برنامه‌های رایانه‌ای هستند؛ به علت آن‌که معمولاً کاربر را آزار می‌دهند یا خسارتی به‌وجود می‌آورند، به این نام مشهورند. هر نرم‌افزاری است که به‌طور عمدی طراحی شده‌است تا به یک کامپیوتر، سرور، مشتری یا شبکه رایانه ای آسیب برساند (در مقابل، نرم‌افزاری که به دلیل برخی نقصان باعث ایجاد صدمه غیرعمدی می‌شود، معمولاً به عنوان یک اشکال نرم‌افزاری یا باگ توصیف می‌شود). طیف گسترده‌ای از انواع نرم‌افزارهای مخرب وجود دارد، از جمله از انواع بدافزارها می‌توان به ویروس‌های رایانه ای، کرم‌ها، اسب‌های تروآ، باج افزار، جاسوس‌افزارها، آگهی‌افزارها، روت‌کیتها، هرزنامهها، نرم‌افزار سرکش و ترس‌افزار اشاره کرد.
ابزار توسعه نرم‌افزار
غالب ابزارهای اولیه و اساسی که در همه جا و به‌طور مداوم استفاده می‌شوند، ویرایشگر کد (source code editor)، کامپایلر (compiler) و مفسر (interpreter) هستند. اما سایر ابزارها بر اساس زبان برنامه‌نویسی، متدولوژی (روش) توسعه و فرد مهندس ممکن است بیشتر یا کمتر بکار برده شوند و غالباً برای یک وظیفه و کار مستقل و جدا مثل خطا یابی یا تحلیل برنامه (profiler) که میزان فضای برنامه را می‌سنجد یا زمانی که برای اجرا لازم دارد و... استفاده می‌شوند.