R esearch to Industrial Programming L anguage Development Andy Maule Scenario UCL coffee company Wholesale coffee traders Sales application Process orders Addupdate customers Inventory application ID: 934515
Download Presentation The PPT/PDF document "From Program A nalysis" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
From
Program Analysis Research to Industrial Programming Language Development
Andy Maule
Slide2Scenario UCL coffee company™
Wholesale coffee traders
Slide3Sales applicationProcess orders
Add/update customers
Slide4Inventory application
Update stock detailsManage supplier infoAdd/remove products
Slide5Database schema
ProductOrderSupplierCustomer1
∞
1
1
∞
∞
Slide6Change
SupplierColumn: AddressColumn: StreetColumn: Town
Column:
Country
Slide7Impacts?
INSERT INTO Suppliers (Name, Address) VALUES (?, ?)Invalid Column Name
Address
Missing required value
Town
Missing required value
Street
Missing required value
Country
Slide8Estimate impact by hand
DB Refactoring book: “knowledge built up over time… gut feeling…”Manual inspection
Slide9Don’t change the database!
What will be affected?What is the cost of this change?
Slide10Automated analysisProgram analysisCompilers
AppDBDependences
Slide11Precision
False positivesNeed low false positivesGo through by hand
Slide12How much do low false positives cost
O(kn)Size of analyzed program
Analysis time
Slide13Making it scaleMake algorithms more efficient
Reduce the size of the program
Slide14Overview
Slide151. Program slicing
“… the parts of a program that (potentially)affect the values computed at some point of interest”
Backward slice
(affect criteria)
Criteria
Forward slice
(affected by criteria)
Slide16Estimation using SUITE
Schema Update Impact Tool
E
nvironment
Slide17Does it work?
ChangePredictedTrue positivesFalse positives15 warns2324 warns0434 warns04
4
4 warns
0
4
5
1 err
1
0
6
1 warn
1
0
7
1 warn
0
1
8
None
0
0
App (v.234)
App
(v.235)
changes
Predict effects
Compare to differences
Version history
…
…
Slide18Does it scale?
Slide19Internship
Building tools is hard!How is it done in the real world?I got to find out
Slide20Now…
The M programming languageThe Oslo project
Slide21What’s it like being a PhD in Industry?
At least 5 PhDs on my teamREALLY Smart peopleREALLY interesting workLots of resourcesPotentially big impactGood pay
Slide22The end…
andymaul@microsoft.comFunded byLondon Software Systems