Syllabus
CS 841: Verification and Validation, Fall 2023
Purpose
This course covers advanced techniques for Software Verification (demonstrating that software meets is requirements) and Validation (demonstrating that software meets the expectations of the end-user). Verification techniques focus on automated deduction and testing. Topics related to automated deduction include applying tools that use industry-developed SMT-solvers like Microsoft’s Z3 to perform deep learning of a program’s behavior and automated checking of the discovered behavior against developer-friendly specifications with an underlying logic foundation. Testing topics include applying recently developed techniques for automated property-based testing and fuzzing. Automated deduction and testing concepts are presented in an integrated fashion. Validation techniques include the use of use-case notation, behavior diagrams, testing, and simulation to illustrate the systems behavior to end users so that they can confirm that the system achieves their intentions.
Topics
For Fall 2023, the following topics will be covered…
- Unit testing
- Code coverage
- System testing
- Testing frameworks
- Software contracts
- Property-based testing
- Contract-based verification
- General quality assurance concepts
Administrative Information
Time: Tuedays (T) & Thursdays (U), 2:30pm - 3:45pm
Credits 3 credits
Instructor John Hatcliff, Office: 2160 Engineering Hall, Office Hours: by appointment
Grading
- Individual Homework Assignments (35%)
- Quizzes (15%)
- Team Projects (50%)
- Final letter grades are assigned based on the following scale: 90% to earn an A, and 80% to earn a B; 70% to earn a C, and 60% to earn a D.
This course includes both individual assignments and team projects. Individual assignments are expected to be completed “individually” (with no collaboration with other students). For team projects, each student is expected to make a unique and substantial contribution to the assigned project. Expectations for the project will be clarified by constructing a written contract that will summarize scope of the project, expected artifacts along with format and completeness of artifacts to be delivered, role and responsibilities of individual team members. The department does not assign a teaching assistant for this course. Because it will be difficult for the instructor to cover all the grading responsibilities for the course, the assessment mechanisms for the course will involve students in the course critiquing and evaluating work of other students (note that this type of activity will be overseen by the instructor to ensure quality).
Attendance Policy
In general, there will be NO make-up exams (and homework)! Special consideration will be given in only exceptional circumstances. Exceptional circumstances are generally limited to:
Emergencies: death in student’s immediate family, or near-death experience of the student. Non-emergencies: certified excused absences for official university activities. If you believe you qualify for exceptional treatment, you must notify the instructor prior to the date of the exam or exercise to be missed.
Statement Regarding Academic Honesty
Kansas State University has an Honor System based on personal integrity, which is presumed to be sufficient assurance in academic matters one’s work is performed honestly and without unauthorized assistance. Undergraduate and graduate students, by registration, acknowledge the jurisdiction of the Honor System. The policies and procedures of the Honor System apply to all full and part-time students enrolled in undergraduate and graduate courses on-campus, off-campus, and via distance learning. The honor system website can be reach via the following URL: http://www.ksu.edu/honor.
A component vital to the Honor System is the inclusion of the Honor Pledge which applies to all assignments, examinations, or other course work undertaken by students. The Honor Pledge is implied, whether or not it is stated: “On my honor, as a student, I have neither given nor received unauthorized aid on this academic work.” A grade of XF can result from a breach of academic honesty. The F indicates failure in the course; the X indicates the reason is an Honor Pledge violation.
Other Administrative Issues
-
Incompletenes: An incomplete (I) final grade will be given only by prior arrangement in exceptional circumstances conforming to departmental policy in which the bulk of course work has been completed in passing fashion. Drop Policy: It is your responsibility to drop the course if you are enrolled but decide not to complete the course — there are no “automatic” drops due to nonattendance. The University allows a retake of a course with removal of the prior grade, at most once per course, for a maximum of five courses.
-
Students with Disabilities: If you have any physical or learning disability which will make it difficult for you to carry out the work as I have outlined in this syllabus or which will require academic accommodations, please notify me the first two weeks of the course.
-
Harrassment: One purpose of your education is to help you develop skills, approaches, and abilities that are necessary for effective teamwork, and for your success in your profession and as a citizen. It is important that you understand your rights and responsibilities regarding the University’s Sexual and Racial Harassment policies (full text of the policies can be found on KSU’s web site at http://www.ksu.edu/uauc/fhbook/fhxj.html). If you experience any situations, in or out of class, that seem inappropriate or that make you uncomfortable, a list of resources and courses of action to assist you can be found on the College of Engineering web site at http://www.engg.ksu.edu/harassment-statement.
-
Expectations for Classroom Conduct: All student activities in the University, including this course, are governed by the Student Judicial Conduct Code as outlined in the Student Government Association By Laws, Article VI, Section 3, number 2. Students that engage in behavior that disrupts the learning environment may be asked to leave the class.
-
Campus Safety: Kansas State University is committed to providing a safe teaching and learning environment for student and faculty members. In order to enhance your safety in the unlikely case of a campus emergency make sure that you know where and how to quickly exit your classroom and how to follow any emergency directives. To view additional campus emergency information go to the University’s main page, http://www.k-state.edu, and click on the Emergency Information button.
-
Copyright Issues: Class and lecture notes for this course carry a copyright. Students are prohibited from selling (or being paid for taking) notes during this course to or by any person or commercial firm without the express written permission of the professor teaching this course. For a more complete discussion of these issues see the course policies for the College of Engineering at Kansas State University: http://www.cis.ksu.edu/resources/intradept/syllabuspolicies.
Notice of Copyright
All lectures and course materials are copyrighted. During this course students are prohibited from selling notes to or being paid for taking notes by any person or commercial firm without the express written permission of the instructor teaching this course.