You are not allowed to perform this action
اشکالزدایی و ترمیم برنامهها
Program Debugging and Repair
مقطع: تحصیلات تکمیلی | گرایش: نرمافزار |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: – | همنیاز: – |
هدف کلی
هدف این درس آشنایی با روشهای اطمینان از صحت و بهبود کیفیت برنامههای رایانهای از طریق روشهای خودکار کشف و ترمیم خطا با توجه ویژه به رویکردهای مبتنی بر یادگیری ماشین است.
سرفصلها
- بررسی رویکردهای اصلی به اشکالزدایی
- مروری بر روشهای تحلیل ایستا نرمافزار
- مروری بر روشهای تحلیل پویای نرمافزار
- مروری بر فنون یادگیری ماشین مورد استفاده در اشکالزدایی
- پیشبینی خرابی نرمافزار (defect prediction)
- روشهای جداسازی خطا (fault isolation)
- رویکردهای مکانیابی خطا (fault localization)
- ترمیم خودکار برنامهها (program repair)
ارزیابی پیشنهادی
- آزمون میانترم: ۳۰ درصدنمره
- آزمون پایانترم: ۵۰ درصد نمره
- تکالیف و پروژه: ۲۰ درصد نمره
منابع پیشنهادی
- X. Jing, H. Chen, and B. Xu. Intelligent Software Defect Prediction. Springer Nature, 2024.
- Q. Zhang, et al. A Survey of Learning-based Automated Program Repair. ACM Transactions on Software Engineering and Methodology, 33 (2), Article 55, pp. 1-69, 2023.
- L. Gazzola, D. Micucci, and L. Mariani. Automatic Software Repair: A Survey. IEEE Transactions on Software Engineering, vol. 45, pp. 34-67, 2019.
- A. Zeller. Why Programs Fail: A Guide to Systematic Debugging. 2nd Edition, Morgan Kaufman, 2009.
- C. S. Păsăreanu. Symbolic Execution and Quantitative Reasoning: Applications to Software Safety and Security. Morgan & Claypool Publishers, 2020.