Students will learn and apply state-of-the-art techniques for analyzing and testing programs. Students will be able to automatically (1) generate test inputs for testing programs, (2) measure coverage during test execution, (3) localize faults in a program, (4) explore program repair techniques. This course prepares students for practical work in the software industry by exposing them to the latest approaches and tools. This course also prepares students who are interested in cutting-edge research in software testing and analysis.
The topics covered in this course are listed below:
Students will be exposed to software tools that implement various testing approaches.
CS414 (Object-Oriented Design) or permission of instructor.
You must have a Colorado State University eIdentity (eID), before you can be installed into the CS580A5 Canvas system. The CS580A5 Canvas page will have all of the course notes, assignments, discussions, and exams, so it is very important for you to be installed on this system. Visit the eIdentity and eServices web page to get your eID. You will not be able to take part in the course until you have an eID.
All queries to the instructors should be sent by email to ghosh@cs.colostate.edu or posted only on the Main discussion group. Queries posted on any other discussion group will not be monitored.
The first day of class is Wednesday, January 18, 2017. Be ready to start then. Go to the Progress page to view the weekly schedule. The on-campus class meets on Mondays, Wednesdays, and Fridays.
Here are the formally graded elements of the course and associated weighting:
Activity | Weight |
---|---|
Assignments | 35 % |
Class Participation and Discussion assignments on Canvas | 10 % |
Midterm | 15 % |
Final exam | 15 % |
Term project | 25 % |
Final letter grades will be based on the relative distribution of total scores and not on any preset numerical grade.
Assignments need to be turned in electronically via Canvas by 11:59 pm on the due date.
Students must actively participate in the discussion forums on Canvas to get a grade in discussion assignments. Each discussion group will have about 5 members. While specific instructions will be given for each discussion assignment, in general, we expect each student to make an initial posting for each assignment, followed by responses to other students' postings. Merely having one sentence that says, for example, "I agree with everyone", is not enough to get a grade.
Discussion assignments carry a weight of 10% for the distance section and 5% for the on-campus section. For the on-campus section, the remaining 5% will be assigned based on class participation, determined in part by taking attendance, asking and answering questions in the lecture, and participation in class discussions.
There are two exams (midterm and final). Both will be take-home. The midterm will be due approximately in Week 8. The final will be due during finals week. Exact dates will be announced later.
There will be a term project that involves (1) writing a proposal (5%), writing a term paper (20%), and preparing and presenting a poster (5%). Students should identify topics by the first week of March and submit a draft proposal (2%) for feedback. The final proposal is due before Spring Break (3%). The term paper is due on Monday of the week before finals week. For on-campus students, the poster presentation will happen sometime during that week using printed posters in the 3rd floor lounge. Distance students will submit (1) a Poster in PDF format and (2) a 5-minute video displaying the poster on a computer screen accompanied by audio of them explaining the poster.
We will be glad to re-grade the same submission if you feel that there was a mistake in grading. Contact us within 4 calendar days for a re-grade. Work will be re-graded in its entirety, and may result in an increase, decrease, or no change in the grade. Note that, once we have graded an assignment, we will not allow you to re-do and re-submit it for grading.
Late work will not be accepted without prior permission. If you cannot finish the work by the deadline, contact the instructor as soon as possible. Extensions will be granted on a case-by-case basis and are more likely when permission is sought in advance, for reasons which are unexpected and beyond your control, and which involve only a short extension. The instructors reserve the right to assign a score penalty to the late work, depending on the circumstances and degree of lateness.
Note that the percentages refer to the total points available for the deliverable, not the points that you have received. That is, if an assignment is worth 100 points, and you get 76 and are 7 hours late, you will receive 66 points.
All students are expected to conduct themselves professionally. We (the instructors and GTAs) assume you are familiar with the policies in the student information sheet for the department and the department conduct code. Additionally, you are computing professionals, albeit perhaps just starting. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct HERE.
This course will adhere to the CSU Academic Integrity Policy as found in the Student Conduct Code. At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.
Students not already familiar with the CSU Honor Pledge should review this clear and simple pledge and always adhere to it. Academic dishonesty will be dealt with severely. The first instance of cheating will result in negative credit. The second instance will result in a failing grade and other penalties dictated by departmental and university policies.
We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors). In particular:
We require you to follow the guidelines listed below for postings on Canvas: