Home
Research Publications
Teaching Students CV Software Funding Activities

EE382V Software Evolution (Fall, 2009)

Instructor: Dr. Miryung Kim (ACES 5.118)
    Office Hours: Thursday 2PM to 3PM
    Email Response Hours: Tuesday & Thursday 2PM - 2:30PM.  
 
Tuesday and Thursday: 12:30 PM to 2 PM, ENS 306

Quick Links

General Description
Software evolution plays an ever-increasing role in software development. Programmers rarely build software from scratch but often spend more time in modifying existing software to provide new features to customers and fix defects in existing software. Evolving software systems is often a time-consuming and error-prone process. This course focuses on state-of-the art methods, tools, and techniques for evolving software.
 
I will begin by addressing software design principles for ease of change and reviewing empirical studies on software evolution. Subsequently, I will cover program differencing techniques and source transformation languages and tools. Next, I will cover analysis, testing, debugging and visualization methods for evolving software. This course also presents the-state-of-the-art research in analyzing software evolution by mining software repositories such as CVS, Subversion, and Bugzilla.

Audience and Prerequisites
This class is intended to students to introduce current research topics in software engineering with focus on software evolution.
Undergraduate level knowledge of data structures and object-oriented program languages is required. Knowledge of compilers, program analysis and program representations is encouraged. If you are unsure of your qualifications, please contact the instructor, who will be happy to help you decide if this course is right for you. You are welcome to just sit in for a few days and see how this class feels.
 
Readings
Relevant papers will be drawn from the leading software engineering journals and conference proceedings such as: TOSEM, TSE, ICSE, FSE, ASE, OOPSLA, and ICSM
 
Optional Textbooks
 
    * Software Fundamentals, edited by Daniel M. Hoffman and David M. Weiss, Addison Wesley, 2001
    * Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Addison-Wesley Professional,1994
    * Refactoring: Improving the Design of Existing Code, Addison-Wesley Professional, 1999
 
Grading
At the end of the course, students will present their projects to the class and submit 10 pages final reports. All final reports must follow ACM format.
Oral discussion of homework problems is encouraged. However, be sure to submit your own independent solution. Copying of any part of a solution without explicit reference to its source is plagiarism and considered cheating. Copying text from the papers that you are reviewing is also considered as plagiarism.  

Email Response Hours
When you send me an email about this class, please put a header [EE 382V] in the subject line. This will tag your email as a course-related email. I will respond to you as soon as I can or during my email office hours, Tue and Thu 2:00-2:30 pm . Please be brief and explicit about where you were stuck and what you need from me. I will try to answer them the best I can either by email, during the class, or using the blackboard discussion board. If you need immediate or interactive response, please try to talk to me after class or make an appointment to see me.

Student with Disabilities
The University of Texas at Austin provides upon request appropriate academic accommodations for qualified students with disabilities. For more information, contact the Office of the Dean of Students at 471-6259, 471-4641 TTY or the College of Engineering Director of Students with Disabilities at 471-4382.

Changes from the previous Software Evolution class
I decided to make the following changes based on my experience and students' feedback on the software evolution class in Spring 2009. 

(1) Paper reviews:
To reduce the students' workload, I changed the number of paper review assignments from 20 to 5. Instead, I will be expecting higher quality reviews that demonstrate your critical understanding of the subject. 
(2) Quizzes: We will have a quiz on predefined dates, approximately every other thursday. 
(3) Immunity:  I understand that you may not be able to attend all the classes for whatever reasons. You will have one immunity allowance for quizzes. Out of six quizzes, your best five scores will count toward your grade. You will have three immunity allowances for class attendences.
(4) No late policy: For reading assignments and project-related assignments, there is no late policy. I will not be accepting any late assignment. If you'd like to submit your assignments in advance yet the blackboard submission site is not open for submission, you may email me your assignments.
(5) Project option: I decided to require all students to do a research project instead of literature surveys and tool evaluations. I hope that this change will simplify grading, scheduling, etc.