Abstract
Ushbu maqolada C++ dasturlash tilida xatoliklarni aniqlash, ularni qayta ishlash va tuzatish usullari tahlil qilinadi. Avvalo, xatolik turlari (sintaksis, semantika, bajarilish paytida yuz beradigan xatolar) ko‘rib chiqilib, ularni qayta ishlash uchun bir nechta asosiy mexanizmlar – qaytish kodlari, istisnolar (exceptions), statik va dinamik tahlil vositalari – taqdim etiladi. Metodologiya qismida adabiyotni o‘rganish, misol dasturlar va empirik sinovlar orqali yondashuvlarning samaradorligi solishtiriladi. Natijalarimiz shuni ko‘rsatdiki, turli xatoliklarga mos moslashuvchan yondashuv: istisnolarni qo‘llash semantik xatolarni aniqlashda, sanitayzerlar va analizatorlar esa bajarilish paytida yuz beradigan xatolarni bartaraf etishda yuqori samaradorlikni namoyon etadi. Muhokama qismida ko‘rib chiqilgan yondashuvlar afzalliklari va cheklovlari tahlil qilinib, real loyihalarda eng maqbul kombinatsiya – unit-testlar bilan birgalikda istisnolarga asoslangan qayta ishlash va sanitayzerlardan foydalanuvchi yondashuv ekanligi ta’kidlanadi.
References
1. ISO/IEC. ISO/IEC 14882:2017 – Programming Languages – C++. International Organization for Standardization, 2017.
2. Stroustrup, B. The C++ Programming Language, 4th Edition. Addison-Wesley, 2013.
3. Boost C++ Libraries Documentation. Error Handling. Boost.org, 2020.
4. Klock, F. Static Analysis of C++ Software: Tools and Techniques. Journal of Software Engineering, vol. 12, no. 3, 2019, pp. 45–59.
5. Serebryany, K., Iskhodzhanov, T. AddressSanitizer: Fast Memory Error Detector. Proceedings of the 2012 USENIX Annual Technical Conference, 2012.
6. UBSan Documentation. Undefined Behavior Sanitizer. Clang/LLVM Project, 2015.
7. Meyers, S. Effective C++: 55 Specific Ways to Improve Your Programs and Designs. Addison-Wesley, 2005.
8. Meyers, S. Exception Safety in C++. ACCU Conference, 2006.