Incremental Software Engineering

807 views

Published on

Paul Compton, UNSW, RAISE'13

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
807
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Incremental Software Engineering

  1. 1. Incremental SoftwareEngineeringPaul ComptonSchool of Computer Science and EngineeringThe University of New South Wales, AustraliaKnowledge
  2. 2. Can Software Engineering be reduced toKnowledge Engineering?Knowledge Engineering ??!!**
  3. 3. The problem• Requirements are never completeWhy?• McCarthy’s qualification problem (1977)– You can never anticipate every situation a robot willhave to deal with• Domain knowledge is never complete– An expert can’t recall every situation related to thecontext.• Is knowledge acquisition asymptotic?– Smaller and smaller improvements– At greater and greater cost
  4. 4. 96% accurate99.7% accurate
  5. 5. Neural Net?Support Vector Machine?Decision tree learners?iLog, Drools?Etc?Building a classifier
  6. 6. 7 rules added8 rules addedRipple Down Rules
  7. 7. Ripple-Down Rules Features• Controlled inference• Cornerstone cases– Any set of cases correctly handled by previouslyrules which may fire a new rule being added– Generally, cases for which rules were added• Monitoring– 85.4% auto-validatedStandard production rules If [condition] then [action-list]Linked production rules If [condition] then [case action-list][inference action]else [inference action]• 7.5 million cases, 6 months, 12 labs, 185 KBs• 85.4% auto-validated (labs range 48% to 96%)• Rules added for 0.3% of the 14.6% manually monitored
  8. 8. General Biochemistry0.060.130.250.501.002.004.008.0016.0032.0064.00128.00256.00512.000 500 1,000 1,500 2,000 2,500 3,000 3,500meintoaddanddebugarule(mins)medianme(mins)rule number2003 2004 2005 2006 2007 2008 2010 2011253 different comments7.3M reports processed28hrs 8hrs 10hrs 9hrs 12hrs 5hrs 6hrsData from Pacific Knowledge Systems
  9. 9. 0.060.130.250.501.002.004.008.0016.0032.0064.00128.00256.00512.000 2,000 4,000 6,000 8,000 10,000 12,000 14,000Timetoaddarule(mins)medianmeover50rules(mins)Rule numberData from Pacific Knowledge Systems
  10. 10. 0%10%20%30%40%50%60%70%80%90%100%1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000Percetofrulesaddedwithvariousnumbersofcondionsrules added rounded up to the next 1000> 10 condi ons6 to 10 condi ons4 or 5 condi onsup to 3 condi onsData from Pacific Knowledge Systems
  11. 11. 0.060.130.250.501.002.004.008.0016.0032.0064.00128.00256.00512.000 2,000 4,000 6,000 8,000 10,000 12,000 14,000Timetoaddarule(mins)medianmeover50rules(mins)averageover50rules(mins)avg.noofcondionsperrulerulesRule numberData from Pacific Knowledge Systems
  12. 12. Comparison DataRule-buildingtechniquesTime to add rules number of rules Source of thedataVarious standardtechniquesZacharias - 200838 mins per ruleTo385 mins per rule126,016(estimate)64 surveyrespondentsRipple Down RulesCompton et al - 201178 secs per rule 57,626 Logs from 17 labs
  13. 13. Other applicationsPathology applicationsPacific Knowledge Systems• Report interpretation• Auditing data entry• Real-time alerts• Risk management• Data cleansing• Information extraction– Part of speech– Named entity– Relations
  14. 14. Re-engineering legacy systemsRDR SystemLegacy Systeminput outputcomparerules added when necessaryErudine Pty. Ltd.
  15. 15. What sort of Software Engineering isPossible with Ripple-Down Rules?
  16. 16. outputGeneral RDR2 3 4 41inputIf A & B THEN X , (RULE 1, ELSE RULE 4)If A & B THEN XUNLESS C THEN nul (rule 4, ELSE rule 1)If C THEN Y (rule 1, exit)5If . . . . . THEN . . (rule 1, exit)If . . . . . THEN . . (rule 1, rule 5)No rule can change an assertionmade by any other ruleLinked production rules If [condition] then [case action-list][inference action]else [inference action]
  17. 17. General RDRoutput2 3 4 41input5Anotherknowledge-basedsystemIf A & B Then XSome otherprogramAother program
  18. 18. Summary• The unexpected will always arise.– (but everything was unexpected once)• Incremental knowledge engineering works• Is incremental software engineering possible?• Can incremental knowledge engineering by used insoftware engineering?THANK YOU

×