PPT9: Asserting expectations

Slides:



Advertisements
Similar presentations
C++ Development on Linux Agenda Introduction Editors Debuggers GUI IDEs Make Automake Exploring further.
Advertisements

DEBUGGING IN THE REAL WORLD : Recitation 4.
CSE 451: Operating Systems Section 1. Why are you here? 9/30/102.
Software Testing and Quality Assurance
12/2/05CS591-F2005, UCCS Frank Gearhart 1 Why doesn’t “gets()” get it? Or more formally: An investigation into the use of the buffer overflow vulnerability.
DT228/3 Web Development JSP: Directives and Scripting elements.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
Homework Reading –Finish K&R Chapter 1 (if not done yet) –Start K&R Chapter 2 for next time. Programming Assignments –DON’T USE and string library functions,
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Language Evaluation Criteria
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Problem of the Day  Why are manhole covers round?
Objective At the conclusion of this chapter you will be able to:
Storyboarding The Why and the How…. A set of drawings that represent screen layout sequences First used by filmmakers to plan the sequences of movie scenes.
Matt Wolfe LC Development Environment Group Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA.
Eclipse 24-Apr-17.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
Taking Control of Visual Studio through Extensions and Extensibility Anthony Cangialosi Senior Program Manager Lead Microsoft Corporation DEV311.
 Asserting Expectations. Introduction -Observation alone is not enough for debugging as it can be a burden for a programmer. -One must compare observed.
Asserting expectations
VM: Chapter 7 Buffer Overflows. csci5233 computer security & integrity (VM: Ch. 7) 2 Outline Impact of buffer overflows What is a buffer overflow? Types.
CSE 303 Concepts and Tools for Software Development Richard C. Davis UW CSE – 10/11/2006 Lecture 7 – Introduction to C.
Unit testing with NUnit Anne Lam & Chris James CMPS 4113 – Software Engineering April 15, 2015.
Lecture 3 Translation.
Instructions for test_function
Pre-Production Meet with the client to create a project plan:
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
ITM352 PHP and Dynamic Web Pages: Server Side Processing 1.
Testing Tutorial 7.
Tools of the Trade
YAHMD - Yet Another Heap Memory Debugger
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
CSE 374 Programming Concepts & Tools
Arab Open University 2nd Semester, M301 Unit 5
Topics: jGRASP editor ideosyncrasies assert debugger.
Accessible Formal Methods A Study of the Java Modeling Language
Evolution in Memory Management Techniques
Introduction to Computer Graphics
Introduction to Computer Graphics
PPT and video are due: no later than November 16, 5:00 PM
Introduction to Computer Graphics
Programming Tips GS540 January 10, 2011.
PPT1: How failures come to be
PPT6: Scientific debugging
PPT1: Basics of software engineering
POWERPOINT PRESENTATION
NASA Secure Coding Rules
Homework Reading Programming Assignments Finish K&R Chapter 1
PPT and video are due no later than February 15, 2019
PPT4: Rational B-spline Curves and Surfaces
PPT12: Shape Modification Tools
PPT3: Project planning and management
PPT3: B-spline Curves and Surfaces
PPT6: Advanced Geometric Algorithms
PPT9: Global and local interpolation
PPT7: Conics and Circles
PPT2: B-spline Basics Functions
PPT4: Requirement analysis
PPT8: Common Surfaces as NURBS
PPT6: Object-oriented design
PPT and video are due no later than March 1, 2019
PPT and video are due no later than March 22, 2019
PPT11: Advanced Surface Construction Techniques
PPT and video are due no later than March 29, 2019
PPT11: System maintenance
PPT10: Global and local approximation
Computer Terms Review from what language did C++ originate?
PPT5: Fundamental Geometric Algorithms
Chapter 15 Functional Programming 6/1/2019.
Hello World Program In Visual Studio and Debugging
Presentation transcript:

PPT9: Asserting expectations CEN 4072 Software Testing PPT9: Asserting expectations PPT and video are due: no later than October 26, 5:00 PM Submit to: lpiegl@gmail.com This template file is just an outline of the presentation that you need to complete. Additional pages will be necessary to fully explore the topic above. Each page should contain adequate text as well as illustrations. You are free to use all publically available information (text as well as graphics) as long as the sources are properly acknowledged.

Team members’ contributions Member [name]:

Observation vs assertion Content outline: Comparison, chart and example

Basic assertions Content outline: Definition and examples Can we always make an assertion?

Assertion and macros Content outline: Assertions as macros Example code

Asserting invariants Content outline: Invariants Type of invariants How easy it is to find invariants? Invariants as requirements

Asserting invariants Content outline: Pre-conditions Post-conditions

Ensuring sanity Content outline: What is a sane code? Example code segments

Locating infections Content outline: Pre-condition failure Post-condition failure Example code

Locating infections Content outline: All-assertion pass Example code frame

Complex invariants Content outline: Complexity of the invariant as a function of the data structure Example

Invariant in debuggers Content outline: Including invariants into GDB Example

Design by contract concept Content outline: Use EIFEL’s deign by contract method

Defining invariants with Z Content outline: Example of Z specification

Defining invariants with Z Content outline: Contract vs. Z specification

Java Modeling Language (JML) Content outline: What is JML Example code

Relative debugging Content outline: Debugging by comparison to reference runs

Relative assertions Content outline: Compare variables across two runs

System assertions Content outline: Check the integrity of the program data Assertions that must hold during the entire execution

MALLOC_CHECK Content outline: Example use of the MALLOC_CHECK environmental variable

ELECTRICFENCE Content outline: A tool to avoid buffer overflow

VALGRIND Content outline: List all uses of VALGRIND with an example and charts

Home made memory handlers Content outline: The use of static memory How FORTRAN did it?

Language extensions: CYCLONE Content outline: Example use of CYCLONE, e.g. special and fat pointers

Assertion and production code Content outline: Proper use of assertions in production code

Words of wisdom Content outline: Performance vs. run-time safety The integrity of code and data

Tools Content outline: JML GUARD VALGRIND PURIFY INSURE++ CYCLONE