Software Maintenance and Evolution
Software products are modified even after their release to address concerns from customers, testers, and users (e.g., software bugs, crashes, failures, feature requests, performance regressions). Activities addressing these concerns are known as software maintenance and evolution. They include many challenging tasks, such as bug resolution, feature enhancement, reverse engineering, traceability link recovery, code reuse, mining software repositories, and quality control mechanisms, including code review and refactoring. This course will not only discuss these important process-oriented concepts but also introduce students to state-of-the-art practices, tools, and cutting-edge AI technologies (e.g., Large Language Models, Deep Learning, Agentic AI), supporting those activities. CALENDAR NOTES: Students should have completed an undergraduate upper year course in Software Engineering.
Sources
Catalogue variants
- Software Maintenance and Evolution · 3 · Graduate