تحلیل ایستای برنامه
اگر تجزیه و تحلیل برنامه بدون اجرای برنامه انجام شود تحلیل ایستای برنامه نامیده میشود (اگر آنالیز با اجرا کردن برنامه انجام شود واکافت دینامیک برنامه نامیده میشود).[۱]
در بیشتر موارد، تحلیل بر روی کد اجرا میشود.
این اصطلاح معمولاً به تحلیلی اطلاق میشود که با استفاده از ابزارهای تحلیل خودکار انجام شود و به تحلیل انسانی (دستی) بازنگری کد گفته میشود.
ابزارها
[ویرایش]گروهOMG بررسی ای دربارهٔ انواع نرمافزارهای تحلیل برنامه که برای اندازهگیری و ارزیابی کیفیت نرمافزار لازم است را نرمافزار منتشر کرد. این مستند سه سطح تحلیل برنامه را توصیف میکند.[۲]
- سطح Unit
- تحلیلی که درون برنامه یا دورن یک روتین خاص انجام بشود، بی آنکه به دیگر بخشهای برنامه کاری داشته باشد.
- سطح فناوری
- تحلیلی که به اندرکنشهای واحدهای(unit) برنامه میپردازد تا دیدی کلی از برنامه به دست آورد و بتواند از مثب کاذبهای آشکار پیشگیری کند.
- سطح سیستم
- تحلیلی که به اندرکنشهای واحدهای(unit) برنامه میپردازد ولی به یک فناوری یا زبان برنامهنویسی خاص محدود نمیشود.
سطح دیگری از تحلیل برنامه میتواند تعریف بشود
- سطح business
- تحلیلی که به لایه کسب و کار، قواعد و فرآروندهای پیادهسازی شده میپردازد. این موارد به زبان یا فناوری خاصی محدود نمیشوند و در مواردی در میان چندین فناوری و زبان توزیع شدهاند.
جستارهای وابسته
[ویرایش]روش های آنالیز ایستا
[ویرایش]آنالیز ایستا معمولاً یا به صورت دستی یا با ابزار انجام میشود، در بهترین حالت پس از انجام تست کد توسط ابزار تیم تست به بررسی نتایج و تحلیل آن میپردازند و با تیم تولید همکاری میکنند.[۳]
پیوند به بیرون
[ویرایش]- Syllabus and readings for Alex Aiken’s Stanford CS295 course.
- Ayewah, Nathaniel; Hovemeyer, David; Morgenthaler, J. David; Penix, John; Pugh, William (2008). "Using Static Analysis to Find Bugs". IEEE Software. 25 (5): 22–29. doi:10.1109/MS.2008.130. Archived from the original on 26 July 2009. Retrieved 17 اكتبر 2016.
{{cite journal}}
: Check date values in:|access-date=
(help) - Brian Chess, Jacob West (Fortify Software) (2007). Secure Programming with Static Analysis. Addison-Wesley. ISBN 978-0-321-42477-8.
- Flemming Nielson; Hanne R. Nielson; Chris Hankin (1999). Principles of Program Analysis (1999 (corrected 2004) ed.). Springer. ISBN 978-3-540-65410-0.
- "Abstract interpretation and static analysis," بایگانیشده در ۳ آوریل ۲۰۱۶ توسط Wayback Machine International Winter School on Semantics and Applications 2003, by David A. Schmidt
- Code Quality Improvement - Coding standards conformance checking (DDJ)
- Competition on Software Verification (SV-COMP)
- Episode 59: Static Code Analysis Interview (پادکست) at Software Engineering Radio
- Implementing Automated Governance for Coding Standards Explains why and how to integrate static code analysis into the build process
- Integrate static analysis into a software development process[پیوند مرده]
- .NET Static Analysis (InfoQ)
- Static Code Analysis - Polyspace
- The SAMATE Project, a resource for Automated Static Analysis tools
منابع
[ویرایش]- ↑ Wichmann, B. A.; Canning, A. A.; Clutterbuck, D. L.; Winsbarrow, L. A.; Ward, N. J.; Marsh, D. W. R. (Mar 1995). "Industrial Perspective on Static Analysis" (PDF). Software Engineering Journal: 69–75. Archived from the original (PDF) on 2011-09-27.
- ↑ http://www.omg.org/CISQ_compliant_IT_Systemsv.4-3.pdf
- ↑ «نسخه آرشیو شده». بایگانیشده از اصلی در ۱۳ ژانویه ۲۰۱۷. دریافتشده در ۲۶ آوریل ۲۰۱۷.