CS 6304: Program Analysis and its Applications
Fall 2015

Dr. Barbara G. Ryder
ryder 'at' cs dot vt dot edu

Contact Info
Dr. Barbara G. Ryder
Email: ryder 'at' cs dot vt dot edu
Phone: 540-231-2164
Office: Department of Computer Sceince
Virginia Tech
2202 Kraft Drive, Room 2210(in CRC)
Blacksburg, VA 24060
Office Hours: 3:30-5:00pm Monday (or by appointment)

Course Summary This seminar course will explore both seminal and specialist papers in static and dynamic program analyses, with emphasis on use of these analyses in modern software tools. Special emphasis will be placed on tools for Java and JavaScript as examples of object-oriented languages and scripting languages with dynamic typing. Key application areas are testing, debugging, program understanding and performance diagnosis.

The class sessions will vary with some introductory lectures followedy student-prepared presentations. Most of the material explored with be in research papers; all students will be expected to prepare an annotated bibliography which will be part of the final grade in the course. A draft reading list for the course will be provided. Students will augment this list, with instructor approval for their specific interests.

Suggested background for students taking the course includes (i) familiarity with compilation (i.e., internal representations of programs and code) and data structures (e.g., rooted directed graphs, abstract syntax trees); (ii) knowledge of the object-oriented programming paradigm. Some background in software engineering (i.e., testing techniques, debugging) will be helpful as well.


December 7, 2015: REMINDER: you must fill out the SPOT teaching evaluations by December 10th. They are available to all students at: https://spot.tlos.vt.edu
These are required by the university, and frankly I have found them personally useful as well. In addition, the problem with the Week 14 feedback survey access has been fixed (I think), so please enter your feedback to last week's speakers by class time tomorrow.

December 1, 2015: REMINDER: all term papers are due by Weds, December 9, 2015. Lateness will cost you something in your final grade for the paper.

November 8, 2015: Office hours on Monday, Nov 9th are from around 3pm-4pm. Please consult the email I sent to the class.

The attached document gives some more detail about the term papers.

October 15, 2015: Office hours on Monday, October 19th cancelled. If needed, please email Dr. Ryder who will be on travel Oct 21-23. Please consult the spreadsheet to find out the final 2 papers assignment for each student.

Note: the scheudle shows 4 papers for week 9 (next week); we are NOT READING or presenting the Sabelfield paper.

September 23, 2015: Office hours cancelled on Sept 28th; to be held on September 30, 10:30am-12:30pm instead due to travel. Remember final paper topics are due on September 29th.

September 15, 2015: Office hours this week on Thursday, Sept 17th, 3:30-5:00pm KWII Room 2210.

September 9, 2015: Additional notes on annotated constraints paper available on lecture notes page. Ofice hours scheduling. This week I can hold office hours on THURSDAY, 9/10/2015 from 4:15-5:30pm in KWII Room 2210. If anyone was planning on attending office hours today 9/9/2015 please let me know by email immediately as I am cancelling them to move them to tomorrow. Important upcoming dates. REMINDER: students are expected to choose their survey paper topic by Friday September 18, 2015 using the updated reading list and recent conferences and journal articles as sources. An initial list of at least 10 papers that you will read, compare & contrast is due by Tuesday Sept 29, 2015. Your choies will be okayed, probably after individual discussions with the instructor.

August 29, 2015 Topics by the Week below shows the schedule of topics to be covered in the course.YOu should choose your first paper to deliver from the lists for weeks 3-6. Your job is to look at topics that are of interest to you, look over the candidate papers and choose 3 papers from weeks 3-7 (choices 1,2,3 in priority order) which you are willing to present. I will try to assign everyone their first or second choice, if possible. I will put up a Google doc you all can access which will have a place for you to add your choices. DO NOT CHANGE ANYONE ELSE'S CHOICES IN THE DOCUMENT. You will need to do this by noon on Weds, September 2nd so we cn select the speakers for week 3.

Note: if you are taking the course for credit and a grade, you have to select your first paper. If you want credit for auditing the course, then you will have to present papers too. If you just sitting in on the course, then you do not have to present. The shared spreadsheet will hvae a column for you to indicate your status (to me) in the course; please fill it in.

Expected Work

Topics by the Week

Slides from Lecture

Updated reading list as of 9/1/2015(pdf)

last changed 11:00 am December 7, 2015 BGR.