تحلیل ایستای برنامه
اگر تجزیه و تحلیل برنامه بدون اجرای برنامه انجام شود تحلیل ایستای برنامه نامیده میشود (اگر آنالیز با اجرا کردن برنامه انجام شود واکافت دینامیک برنامه نامیده میشود).
در بیشتر موارد، تحلیل بر روی کد اجرا میشود.
این اصطلاح معمولاً به تحلیلی اتلاق میشود که با استفاده از ابزارهای تحلیل خودکار انجام شود و به تحلیل انسانی (دستی) بازنگری کد گفته میشود.
ابزارها
گروه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.
- 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
- ↑ «نسخه آرشیو شده». بایگانیشده از اصلی در ۱۳ ژانویه ۲۰۱۷. دریافتشده در ۲۶ آوریل ۲۰۱۷.