Software Testing & Verification

Slides:



Advertisements
Similar presentations
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Advertisements

Course Overview CSE8313 Object-Oriented Analysis and Design Spring 2015 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist University.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
Course Overview CEN 5035 Software Engineering
Fall 2013 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 27,
Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
Chapter 1: Introduction to Project Management
CEN 4072 / CEN 6070 Software Testing & Verification Spring 2014 Syllabus available on-line at:
SE3183 Advance Web Programming Programming Session 2013/2014.
Prof. Barbara Bernal NEW Office in J 126 Office Hours: M 4pm - 5:30 PM Class Lecture: M 6 PM - 8:30 in J133 Weekly Web Lecture between Tuesday to Sunday.
Fall 2015 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 25,
Proofs of Correctness: An Introduction to Axiomatic Verification Prepared by Stephen M. Thebaut, Ph.D. University of Florida CEN 5035 Software Engineering.
ECE 1100: Introduction to Electrical and Computer Engineering Wanda Wosik Associate Professor, ECE Dept. Notes 1 Spring 2011 Slides adapted from lectures.
Syllabus CS479(7118) / 679(7112): Introduction to Data Mining Spring-2008 course web site:
Introduction to Science Informatics Lecture 1. What Is Science? a dependence on external verification; an expectation of reproducible results; a focus.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Stephen M. Thebaut Exam 2 Notes Slide 1 Exam 2 Notes Stephen M. Thebaut, Ph.D. University of Florida CEN 5035 Software Engineering.
1 YORK UNIVERSITY Department of Biology Faculty of Science and Engineering Course outline Immunobiology (SC/BIOL ) W2011 Prerequisites: SC/BIOL2020.
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
Exam 1 Notes Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.
Stephen M. Thebaut Exam 1 Notes Slide 1 Exam 1 Notes Stephen M. Thebaut, Ph.D. University of Florida CEN 5035 Software Engineering.
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
Functional Verification I Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture Notes 21.
Course Overview CSE 8340 Advanced Software Engineering Topics: Software Engineering Economics & Processes Spring 2016 Dr. LiGuo Huang Dept. of Computer.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
1 CS 491z / CS 791z Seminar on Software Engineering Spring 2006 Course Syllabus January 24, 2006.
CSE6339 DATA MANAGEMENT AND ANALYSIS FOR COMPUTATIONAL JOURNALISM CSE6339, Spring 2012 Department of Computer Science and Engineering, University of Texas.
Introduction to the Course Software Specification Lecture 1
APPLIED MANAGEMENT SCIENCE IN AGRICULTURAL SYSTEMS I
Software Specification
Welcome to CS 4390/CS5381: Introduction to Formal Methods
Advanced Software Engineering
Introduction to Operating Systems
Software Requirements
EGR 115 Introduction to Computing for Engineers
Advanced Software Engineering
Jeremy Bolton, PhD Assistant Teaching Professor
Cleanroom Software Engineering
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Course Overview CSE8313 Object-Oriented Analysis and Design
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
MGT 3823: Responsible leadership
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Engineering Summer orientation academic guide
CS 425 Software Engineering
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
CLAS Teaching Policies and Procedures
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Functional Verification I
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
ENG3380 Computer Organization
Software Specification
Engineering Summer orientation academic guide
EE422C Software Design and Implementation II
Functional Verification I
Registration Distribution
Physics 100 Energy Spring 2011.
26 July 2011 SC 611 Class 1.
CS 425 / CS 625 Software Engineering
Proofs of Correctness: An Introduction to Axiomatic Verification
Computer Networks CNT5106C
Prepared by Stephen M. Thebaut, Ph.D. University of Florida
Course Overview CSE5319/7319 Software Architecture and Design
New Student Orientation
CPE 626 Advanced VLSI Design, Spring 2002 Admin
Presentation transcript:

Software Testing & Verification CEN 4072 / CEN 6070 Software Testing & Verification Spring 2014 Syllabus available on-line at: http://www.cise.ufl.edu/class/cen6070/sp17.html

Prepared by Stephen M. Thebaut, Ph.D. University of Florida Course Overview Software Testing and Verification Lecture 1 Prepared by Stephen M. Thebaut, Ph.D. University of Florida

Contact Info Instructor: Steve Thebaut, CSE 314-A Office Hours: Wed/Fri 9:30-10:30 or by appt. Phone: (352) 505-1564, business hours e-mail: smt AT cise DOT ufl DOT edu TA: TBD

Course Description Software Testing and Verification is a survey course on concepts, principles, and techniques related to software testing and program verification. It focuses primarily on issues relevant to software engineers (as opposed to system-level testers, QA personnel, etc.).

Course Description (cont’d) You will: Learn to apply various black-box and white-box testing methods, Become acquainted with various integration testing strategies, and Become acquainted with techniques for proving the functional correctness of sequential programs.

Course Description (cont’d) Topics include: black-box and white-box test case design strategies, incremental integration testing techniques, inspections and reviews, axiomatic verification techniques, predicate transforms, and function theoretic-based verification. You will have the opportunity to practice the techniques presented in class individually or in groups, via non-graded, optional problem sets.

Prerequisites Successful completion of an upper division (undergraduate) or graduate-level software engineering survey course, or comparable professional experience (Students currently or recently employed as software engineering professionals automatically meet this requirement.)† Familiarity with programming using a high-level language (C, C++, Java, etc.) †If you do not meet this prerequisite, please plan to do so before enrolling in CEN 4072/6070.

Prerequisites (cont’d) Basic knowledge of algorithms, data structures, object-oriented programming principles, and discrete math -------------------------------- A self-assessment “pre-test” on the course website may help you in assessing your preparedness for the course vis-à-vis coverage of a small subset of prerequisite knowledge.

Important notes: If you take this course and then later wish to take CEN 5035, Software Engineering, you may do so, but you will be tested on additional topics (TBD) instead of the "Intro to Proofs of Correctness" and closely related material that is covered in CEN 5035. Students who have already taken CEN 4072 at UF may NOT take CEN 6070 for credit.

Other SE-related courses offered this semester OBJECT ORIENTED PROGRAMMING EXPERT SYSTEMS Human-Computer Interaction (HCI) MALWARE REVERSE ENGINEERING ADVANCED DATA STRUCTURES PROGRAMMING LANGUAGE PRINCIPLES DATABASE SYSTEM IMPLEMENTATION Note that CEN 6070 (but NOT CEN 4072), Software Testing & Verification is also scheduled for this coming summer.

Class Meeting Times and Location (On-Campus Students) M/W/F: 5th (11:45-12:35) Room: NEB 100 Depending on room availability and class attendance patterns, some lectures may eventually be held in CSE instead of NEB. Any room change will be announced in class and on the course website in advance.

Web Site http://www.cise.ufl.edu/class/cen6070/sp17.html Syllabus Lecture Notes Lesson Plans Practice Exams Exam Schedule Problem Sets Reading List Announcements Prerequisite Pre-Test Contact Information

Getting Help E-Learning access assistance – contact: E-Learning Support Services: learning-support AT ufl DOT edu phone: 352-392-4357 option 3 EDGE registration assistance – contact: edge-admin AT eng DOT ufl DOT edu phone: 352-392-9670

Getting Help (cont’d) Course content–related help: Steve Thebaut: smt AT cise DOT ufl DOT edu phone: 352-505-1564 or TA: to be determined

Required Reading Material Myers, The Art of Software Testing, John Wiley & Sons, 1979, pp. 4-16, The Psychology and Economics of Program Testing. Kit, Software Testing in the Real World: Improving the Process, Addison-Wesley, 1995, pp. 3-13, Part I, Software testing process maturity. (cont’d)

Required Reading Material (cont’d) Gause & Weinberg, Exploring Requirements: Quality Before Design, Dorset House, 1989, pp. 80-91, Making Meetings Work for Everybody. Fagan, Design and Code Inspections to Reduce Errors in Program Development, IBM Systems Journal, Vol. 15, No. 3, July 1976, pp. 182-211. (cont’d)

Required Reading Material (cont’d) Grady & Van Slack, Key Lessons in Achieving Widespread Inspection Use, IEEE Software, July 1994, pp. 46-57. Sauer, et al., The Effectiveness of Software Development Technical Reviews: A Behaviorally Motivated Program of Research, IEEE Transactions on Software Engineering, Vol. 26, No. 1, January 2000. (cont’d)

Required Reading Material (cont’d) King, et al., Is Proof More Cost-Effective than Testing?, IEEE Transactions on Software Engineering, Vol. 26, No. 8, August 2000. Dunlap & Basili, A Comparative Analysis of Functional Correctness, ACM Computing Surveys, Vol. 14, No. 2, June 1982. Linger, Cleanroom Software Engineering for Zero-Defect Software, Proceedings, 15th Int. Conf. on Soft. Eng. (1993), IEEE Computer Society Press, pp. 2-13.

Required Reading Material (cont’d) Readings are available for download at NO CHARGE via the Course Reserves tab at: http://www.uflib.ufl.edu/ Before accessing course reserve materials from a NON-UF network, you must log into the UF VPN client. To download the UF VPN client, visit: https://net-services.ufl.edu/provided-services/vpn/clients/

Optional Reference Text An optional textbook, Pezze and Young's Software Testing and Analysis, Wiley, 2008, is available for students who wish to have additional software testing and analysis reference material at their disposal. ---------- A copy of the optional textbook will be placed on reserve in Marston Science Library.

Outline of Topics Introduction to V&V Techniques and Principles Requirements and Specifications Black-Box Test Case Design Strategies Partition testing Combinatorial approaches Other strategies (cont’d)

Outline of Topics (cont’d) White-Box Test Case Design Strategies Logic coverage Dataflow coverage Path conditions & symbolic evaluation Other strategies Integration and Higher Level Testing Testing Object-Oriented Software (cont’d)

Outline of Topics (cont’d) Reviews and Inspections Testing Tools (a brief, high-level overview) ----------------------------------------- Formal Program Specification Axiomatic Verification Weak correctness Rules of inference: sequencing, selection statements, iteration Strong correctness Exam 1 (cont’d)

Outline of Topics (cont’d) Predicate Transforms Computing predicate transforms Predicate transforms and loops Functional Verification Complete and sufficient correctness Compound programs and the Axiom of Replacement (cont’d)

Outline of Topics (cont’d) Functional Verification (cont’d) Correctness conditions Iteration Recursion Lemma Subgoal Induction Revisiting loop invariants (the Invariant Status Theorem) Cleanroom Software Engineering Lecture notes will be made available on the course web site in PPT format.

Examinations and Grades Course grades will be based solely on TWO equally weighted 90-minute exams. Histograms of numeric scores will be provided with solution notes for both exams. Course letter grades will be determined at the end of the semester based on separate “curves” for CEN 4072 and CEN 6070 students.

Note: there is no (comprehensive) “final exam” for this course. Exam Schedule Exam 1: February 24, periods E2-E3 (8:20 PM to 10:10 PM), room CSE A101 covers topics through “Testing Tools” + associated readings. Exam 2: April 21, periods E2-E3 (8:20 PM to 10:10 PM), room CSE A101 covers remaining topics + associated readings. Note: there is no (comprehensive) “final exam” for this course.

Exam Procedures for Out-of-Town EDGE Students† Proctors should be asked to schedule a SINGLE EXAM TIME for all students at each site within 48 hours of each of the two scheduled exam times in Gainesville. If this is not possible for any reason, students must contact the instructor well in advance to discuss making other arrangements. See the UF EDGE website about locating and verifying a qualified proctor well in advance of Exam 1. †All Gainesville area EDGE students are required to take exams at the same time and location as on-campus students.

Make-Up Exam Policy Students are expected to be available at scheduled exam times. Do NOT schedule conflicting elective activities (family gatherings, business or interview trips, etc.). If missing an exam is unavoidable (e.g., due to sickness, accident, or other reasons beyond your control), contact the instructor as far in advance as possible. (cont’d)

Make-Up Exam Policy (cont’d) Make-up exams, when permitted, may be administered orally. If it is not practical to administer a make-up exam before the end of the term, a course grade of "I" (incomplete) may be assigned.

Problem Sets There are 7 non-graded, optional problem sets covering the areas: Black-box Testing Logic Coverage Dataflow Coverage Path conditions and Symbolic Evaluation Axiomatic Verification Predicate Transforms Functional Verification

Problem Sets (cont'd) Some problems will require the creative application of techniques presented in class. You are encouraged to work on the problems alone or in groups, and to discuss with the TA and/or instructor as needed. Problem set introductions, discussions, hints, and solution reviews will be provided in class. Exams assume a thorough understanding of the problems and their solutions.

Class Attendance (On-Campus Students) Students are expected to view all recorded lectures and are responsible for any recorded announcement made in class. On-campus students are encouraged, but NOT required, to attend instructor lectures, BUT ARE REQUIRED TO ATTEND SCHEDULED GUEST LECTURES.† †It is likely that there will be TWO guest lectures during the semester. Details and dates to follow.

Academic Integrity You will be asked to sign the following state-ment on both exams in this course: On my honor, I have neither given nor received unauthorized aid on this exam and I pledge not to divulge information regarding its contents to those who have not yet taken it.

Other Info For info regarding: Accommodation for Students with Disabilities, UF Counseling Services, UF Software Use Policies, and Instructor background, please see the course syllabus.

Questions?

Prepared by Stephen M. Thebaut, Ph.D. University of Florida Course Overview Software Testing and Verification Lecture 1 Prepared by Stephen M. Thebaut, Ph.D. University of Florida