early intervention techniques dave donaghy, hewlett-packard, bristol, uk tom crick, cardiff...

18
Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK

Upload: jack-franklin

Post on 12-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK

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

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

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

Cool New Tricks

Page 5: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK

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

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

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

Testing Interventions

Page 9: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK

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

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

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

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

Next Steps

Page 14: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK

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

Questions?

Page 16: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK

Additional …

Page 17: Early Intervention Techniques Dave Donaghy, Hewlett-Packard, Bristol, UK Tom Crick, Cardiff Metropolitan University, UK

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

End