![Page 1: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/1.jpg)
Early Intervention Techniques
Dave Donaghy, Hewlett-Packard, Bristol, UKTom Crick, Cardiff Metropolitan University, UK
![Page 2: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/2.jpg)
2
The Authors
• Dave Donaghy – Software EngineerHewlett-Packard, Bristol, UK
• Dr Tom Crick – Senior Lecturer in Computing ScienceCardiff Metropolitan University, UK
![Page 3: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/3.jpg)
3
Introduction
• Developers often think up new methods for process improvement• Are those methods useful?
![Page 4: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/4.jpg)
Cool New Tricks
![Page 5: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/5.jpg)
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?
![Page 6: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/6.jpg)
6
Restrictions on operations
typedef __attribute__((restriction("plus"))) int counter;
static counter c = 0;
void registerEvent(){ c--; /* ERROR - decrement not allowed */
/* Other functionality omitted ... */}
![Page 7: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/7.jpg)
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);}
![Page 8: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/8.jpg)
Testing Interventions
![Page 9: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/9.jpg)
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 ... */}
![Page 10: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/10.jpg)
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);}
![Page 11: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/11.jpg)
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?
![Page 12: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/12.jpg)
12
Testing in situ
• “Does it work for us?”• Individual organizations can run
this testing themselves
![Page 13: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/13.jpg)
Next Steps
![Page 14: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/14.jpg)
14
In-place industrial testing
• 5 years+ of existing data• Massive opportunity for in-place
testing
![Page 15: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/15.jpg)
Questions?
![Page 16: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/16.jpg)
Additional …
![Page 17: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/17.jpg)
17
PhD at Cardiff Metropolitan University
• Start early 2015• Scaling Superoptimisation for Enterprise
Applications
![Page 18: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK](https://reader036.vdocument.in/reader036/viewer/2022082820/56649ea25503460f94ba6573/html5/thumbnails/18.jpg)
End