CSE584: Software EngineeringLecture 8 (November 24, 1998)
This week and next
What’s a tool?
What’s analysis?
Tools you probably use
What other tools do you use?
Some context
CASE
Environments vs. tools
Why environments?
What are environments?
Computer help?
The “promise” of CASE
CASE is ...
CASE is
CASE confusion
Appearances in INSPEC
(A few) classic environments
Interlisp (Xerox PARC)
Smalltalk-80 (Xerox PARC)
Unix (Bell Labs)
Cedar (Xerox PARC)
Commercialization
The business of CASE
CASE quotation I
CASE quotation II
Myth #1 of CASE
Myth #2 of CASE
Myth #3 of CASE
Myth #4 of CASE
Organizational issues (Orlikowski)
Myth #5 of CASE
Myth #6 of CASE
Tools
News Flash! Notkin’s wrong!
Programming languages
However
Types
Type inferencing
A simple taxonomy
LCLint [Evans et al.]
Detects potential bugs
Enforces coding style
LCLint Does Not
Ex: Definition before Use
More Accurate Checks
Abstraction Boundaries
Checking Abstract Types
Checking Side Effects
Checking Use of Memory
If C Were Better...
Experience with LCLint
Understanding Legacy Code
Fundamental benefit
Purify
Memory State Transitions
Other violations
Overhead
Next week
Email: notkin@cs.washington.edu
Home Page: http://www.cs.washington.edu/education/courses/584/CurrentQtr/
Other information: CSE 584, Lecture 8
Download presentation source