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

Post on 12-Jan-2016

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

top related