early intervention techniques dave donaghy, hewlett-packard, bristol, uk tom crick, cardiff...
TRANSCRIPT
Early Intervention Techniques
Dave Donaghy, Hewlett-Packard, Bristol, UKTom Crick, Cardiff Metropolitan University, UK
2
The Authors
• Dave Donaghy – Software EngineerHewlett-Packard, Bristol, UK
• Dr Tom Crick – Senior Lecturer in Computing ScienceCardiff Metropolitan University, UK
3
Introduction
• Developers often think up new methods for process improvement• Are those methods useful?
Cool New Tricks
5
“I’ve got this cool idea …”
In the development environment …How often do developers come up with cool new tricks to make their lives easier?
6
Restrictions on operations
typedef __attribute__((restriction("plus"))) int counter;
static counter c = 0;
void registerEvent(){ c--; /* ERROR - decrement not allowed */
/* Other functionality omitted ... */}
7
Tagging physical types
typedef __attribute__((physical("m"))) double length; /* metres */typedef __attribute__((physical("s"))) double time; /* seconds */
length calculateDistance(){ length len = getLengthFromElsewhere(); len += getTimeFromElsewhere(); /* ERROR - incompatible addition! */
return (len);}
Testing Interventions
9
What if …
typedef __attribute__((restriction("plus"))) int counter;
static counter c = 0;
void registerEvent(){ c--; /* No-one ever makes this mistake! */
/* Other functionality omitted ... */}
10
What if …
typedef __attribute__((physical("m"))) double length; /* metres */typedef __attribute__((physical("s"))) double time; /* seconds */
length calculateDistance(){ length len = getLengthFromElsewhere(); len += getTimeFromElsewhere(); /* There are better ways to prevent this! */
return (len);}
11
Testing a new intervention
• Does my intervention detect errors at all?• Does it detect enough errors?• Does it provide a business
benefit?• Does it make things worse?
12
Testing in situ
• “Does it work for us?”• Individual organizations can run
this testing themselves
Next Steps
14
In-place industrial testing
• 5 years+ of existing data• Massive opportunity for in-place
testing
Questions?
Additional …
17
PhD at Cardiff Metropolitan University
• Start early 2015• Scaling Superoptimisation for Enterprise
Applications
End