Download presentation
Presentation is loading. Please wait.
1
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: 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.
2
Team members’ contributions
Member [name]:
3
Observation vs assertion
Content outline: Comparison, chart and example
4
Basic assertions Content outline: Definition and examples
Can we always make an assertion?
5
Assertion and macros Content outline: Assertions as macros
Example code
6
Asserting invariants Content outline: Invariants Type of invariants
How easy it is to find invariants? Invariants as requirements
7
Asserting invariants Content outline: Pre-conditions Post-conditions
8
Ensuring sanity Content outline: What is a sane code?
Example code segments
9
Locating infections Content outline: Pre-condition failure
Post-condition failure Example code
10
Locating infections Content outline: All-assertion pass
Example code frame
11
Complex invariants Content outline:
Complexity of the invariant as a function of the data structure Example
12
Invariant in debuggers
Content outline: Including invariants into GDB Example
13
Design by contract concept
Content outline: Use EIFEL’s deign by contract method
14
Defining invariants with Z
Content outline: Example of Z specification
15
Defining invariants with Z
Content outline: Contract vs. Z specification
16
Java Modeling Language (JML)
Content outline: What is JML Example code
17
Relative debugging Content outline:
Debugging by comparison to reference runs
18
Relative assertions Content outline: Compare variables across two runs
19
System assertions Content outline:
Check the integrity of the program data Assertions that must hold during the entire execution
20
MALLOC_CHECK Content outline:
Example use of the MALLOC_CHECK environmental variable
21
ELECTRICFENCE Content outline: A tool to avoid buffer overflow
22
VALGRIND Content outline:
List all uses of VALGRIND with an example and charts
23
Home made memory handlers
Content outline: The use of static memory How FORTRAN did it?
24
Language extensions: CYCLONE
Content outline: Example use of CYCLONE, e.g. special and fat pointers
25
Assertion and production code
Content outline: Proper use of assertions in production code
26
Words of wisdom Content outline: Performance vs. run-time safety
The integrity of code and data
27
Tools Content outline: JML GUARD VALGRIND PURIFY INSURE++ CYCLONE
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.