آنالیز مهارت برنامهنویس در پیداکردن خطاهای موجود در کد به زبان C++ به صورت استاتیک
فرایند تجزیه وتحلیل این نرمافزار به طور کامل توسط فرد برنامهنویس کنترل میشود و اگر به تغییرنیازباشد،این برنامهنویس است که برای آن تصمیم میگیرد. تیم توسعهدهندهی این نرمافزار یک تست به زبانC++برای آزمایش میزان توانایی برنامههای تجزیه و تحلیل کد در پیداکردن خطاهای موجود در تکههایی از کد ترتیب داده است؛ این تکههای کد از برنامههای متنباز انتخاب شدهاند.
برای افراد مبتدی و ناآشنا باید گفت که منظور از"برنامهی تجزیه و تحلیل استاتیک کد"، برنامهای است که در آن، کد بدون اینکه اجرا شود از نظر خطا و منطق بررسی میشود. در صورتی که اگر برنامهای تجزیه و تحلیل کد را با اجرای کدانجام دهد، به آن برنامه،"برنامهی تجزیهوتحلیل پویا" گفته میشود.
برنامههای متعددی برای انجام فرآیند تجزیه و تحلیل کد به صورت اتوماتیک و خودکار، البته با نظارت و کنترل برنامهنویس و یا توسعهدهنده، وجود دارد. این برنامهها قادرند تعداد خطا و اشکال زیادی را در سرعتی بسیار بیشتر از حالت عادی و بدون استفاده از برنامه پیدا کنند. همانطور که پیشتر اشاره شد، یکی از این برنامهها، برنامهی PVS-Studio است. این برنامه از جمله نرمافزارهای تجزیه و تحلیل استاتیک کد برای برنامههای توسعهداده شده به زبانهای برنامهنویسی CوC++است. این برنامه به هدف یافتن طیفی وسیع از انواع خطاهای ممکن در کد طراحی و پیادهسازی شده است.
گاهی افراد به اشتباه تصور میکنند که برنامههای تجزیه و تحلیل کد، برای یافتن خطاهای ساده مثل علامت کاماویرگول و یا کامایی که در جای اشتباه از کد قرار داده شده است و یا علامت پرانتزی که فراموش شده است، مفید و کارا است؛ اما باید گفت که این عقیده راجع به برنامههای تجزیه و تحلیل کد نادرست است و این برنامهها در یافتن خطاها و اشتباهات منطقی برنامه هم کارا هستند؛ اشتباهاتی که پیدا کردن آنها اغلب دشوار است.
همین عقیده راجع به برنامههای تجزیه و تحلیل کد باعث شده است که غالباً تنها توسعهدهندگان و برنامهنویسان مبتدی و یا دانشآموزان از این نرمافزارها استفاده کنند. همانطور که پیش از این هم گفته شد تیم توسعهی برنامهیPVS-Studio تستی ترتیب دادهاند که در آن شرکتکنندگان با استفاده از نرمافزارهای تجزیه و تحلیل کد باید خطاهای موجود در قطعههای کد را پیدا کنند. به این ترتیب این امید وجود دارد که پس از این تست، به دلیل آشنایی بیشتر با این نرمافزارها، این عقیدهی نادرست هم راجع به این گونه برنامهها تغییر کند.در ادامه به صورت کلی به توضیحاتی در مورد روند و فرآیند این تست اشاره شده است.
در این تست قطعهای از یک کد، که شامل خطای نامشخص است، در اختیار شرکتکننده قرار داده میشود. شرکتکننده میبایست در بازهی زمانی مشخص و محدود، به دنبال خطای موجود در کد باشد. البته پیامی هم با محتوای هشدار، که برنامهی تجزیه و تحلیل کد آن را تدوین کرده است، در اختیار شرکتکننده قرار میگیرد. در واقع هدف از این تست، بررسی میزان تاثیر استفاده و بهکارگیری برنامههای تجزیه و تحلیل کد در پیداکردن خطاهای دشوار و منطقی کد است.
به عنوان نکتهی آخر باید اشاره کرد که برنامههای تجزیه و تحلیل کد قادرند خطاها و اشکالات دشوار و منطقی کد را در زمانی کمتر از 5 ثانیه پیدا کنند. همانطور که گفته شد تستهایی ترتیب داده شده است تا این ایده در مورد این برنامهها، مبنی بر اینکه تنها قادرند خطاهای ساده را پیدا کنند، تصحیح شود.
ثبت نظر