این مقاله به اجرای نمادین (Symbolic Execution) برنامهها می پردازد. به جای آنکه ورودی های معمولی یک برنامه (مانند اعداد) ارائه شود، از نمادهایی استفاده می شود که مقادیر دلخواه را نمایندگی می کنند. اجرای برنامه همانند اجرای معمولی ادامه می یابد، با این تفاوت که مقادیر می توانند فرمولهای نمادین بر پایه این نمادها باشند. مسائل پیچیده و در عین حال جالب، عمدتاً در هنگام اجرای نمادین دستورات شرطی و انشعابی به وجود می آیند.