the foundations and tools for software engineering lab department of computing, fcen, university of...
TRANSCRIPT
![Page 1: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/1.jpg)
![Page 2: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/2.jpg)
The Foundations and Tools for Software Engineering Lab
Department of Computing, FCEN, University of Buenos Aires, Argentina
Sebastian Uchitel
![Page 3: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/3.jpg)
You are here.
We are here.
![Page 4: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/4.jpg)
About us Research:
– Foundations and Tools for Software Engineering
People– Directors: Victor Braberman and Sebastian Uchitel– 3.5 Staff– 1 Postdoc– 6 PhD Students– Several master’s level research assistants
![Page 5: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/5.jpg)
About us Ongoing Collaborations
– Microsoft, University of Toronto, Imperial College London, University College London, University of Louvain-la-Neuve, CNRS-France
Consultancy– Kodak UK, Polo IT Buenos Aires, HP, Telco’s, Pragma,
MS Corp, Argentine Government, etc...
Teaching– Undergraduate, Graduate and Industry
![Page 6: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/6.jpg)
About us Publication track record
– Journals: TOSEM, TSE, FMSD, STTT, ASEJ, ...– Conferences: ICSE, FSE, RTSS, ASE, TACAS, CAV, ...
Grant track record (currently over 2.3 million USD)– ANCPYT, ECOSUD (Argentina/France), CONICET, UBACYT, EPSRC (UK), EU-
FP6 (EU), CECYT-MAE (Argentina/Italy) International Recognition
– Program Committees: ICSE (2005, 2007, 2008), ISSTA 06, FASE (2006-2007), ASE (2003-2006), ICTAC 05, FSE (2005-2007), RE (2005, 2007), ...
– Program Chairs: SCESM 2004, ASE 2006, ICSE 2010.– Journal Editorial Boards: TSE (2006-), REJ (2007-)– Awards: Microsoft Research, IBM, Leverhulme Trust, Nuffield Foundation,
CESSI, Argentine National Academy of Science...
![Page 7: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/7.jpg)
Overview Technical areas
– Model Extraction– Static Analysis– Memory usage prediction– Dynamic Analysis– (Distributed) Model Checking– Test-case generation– Test-guided model checking– Quantitative Modeling and Analysis– Machine learning– AOP– Model Synthesis– Partial Behaviour Models
Application Domains– Real time systems– Service Oriented Architectures– Distributed and Concurrent systems– Object-oriented programs– Embedded systems– Dynamic and reconfigurable systems
Software Engineering Activities– Requirements Engineering– Software Architecture– Testing– Design
![Page 8: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/8.jpg)
Our vision: We believe that... Models should play a central role in software
engineering. Traditional engineering approach
– Abstract & Precise– Amenable to analysis.– Complexity: Model << System.
Pre-development analysis of behaviour– Prevent consequences– Early detection -> cheaper fix
Costs << Benefits
![Page 9: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/9.jpg)
Implementation
Problem & Solution
Feedback
ModelsModelsModels
Feedback
Our Research Focus Models Automated Analyses Verification and
Validation
![Page 10: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/10.jpg)
Implementation
Problem & Solution
Feedback
ModelsModelsModels
Feedback
Theme 1: Validation How do I know
I’ve modelled the right thing?
![Page 11: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/11.jpg)
Theme 1: Validation of Contract Specifications Contract specifications
– Pre/Post-conditions + invariants
appear in a variety of software artefacts– Specification (Z, Design by Contract, Use Cases)– Code (Spec#-C#, Eiffel, Java)– Output of Analysis tools (Daikon, DySy)
However, they are far from trivial to understand
![Page 12: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/12.jpg)
Contracts are hard to validate
![Page 13: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/13.jpg)
Validation Strategies Visualise state space
– Even simple contract specifications are infinite state
Execute / Simulate– Very partial exploration– When do we stop?– No big picture
Prove properties (model check)– Which properties? – Do we have them all? – Must validate the properties…
![Page 14: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/14.jpg)
Our validation strategy: Abstraction
What is the right abstraction of an infinite state space that will aide validation?– Precision vs. Size trade-off is key
A: Finite State Machine that preserves action enabledness– Two concrete states are in the same abstract state if and only
if they allow the same set of actions (i.e. preconditions that hold for both are the same)
[ICSE 09]
![Page 15: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/15.jpg)
Enabledness Preserving Finite State Machine
Model A
Model B
Circular Buffer has an error“(r != w)” is missing from the invariant
![Page 16: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/16.jpg)
Tools SupportOpen source available at http://lafhis.dc.uba.ar/contractor
![Page 17: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/17.jpg)
Validating Windows Server protocols Negotiate Stream Protocol
– A protocol for the negotiation of credentials between a client and a server over a TCP stream
– 13 operations, potential state space of 2^13 = 8192– Challenge: Will the size allow for manual validation?
WINS Replication and Autodiscovery Protocol– Governs the process by which a set of name servers discover
each other and share their records in order to keep an up-to-date vision of the name mappings
– 33 operations, potential state space of 2^33 = 8 Billion– Challenge: Can we build it, let alone validate?
![Page 18: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/18.jpg)
Windows Negotiate Stream Protocol 2.0
Experimental Setup
![Page 19: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/19.jpg)
Windows Negotiate Stream Protocol 2.0
![Page 20: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/20.jpg)
Windows Negotiate Stream Protocol 2.0
Various problems were found in the TD 2.0. These problems were fixed in TD 3.0
![Page 21: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/21.jpg)
Case studiesOperations Reachable
statesExecution time (seconds)
Web Fetcher [de Line 2004]
4 2 0.3
ATM [Whittle 2000] 8 6 5
MS-NSS 13 10 4
MS-WINSRA 33 39 97
Future WorkTalking to the Microsoft Protocol Engineering Team
![Page 22: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/22.jpg)
Implementation
Problem & Solution
Feedback
ModelsModelsModels
Feedback
Theme 2: Model Construction and Elaboration Models are hard to
build!
![Page 23: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/23.jpg)
Synthesis from Heterogeneous Partial Specifications
[TSE03][FSE04][TOSEM04]
unsubscribedisable
enable
eos
unsubscribe
disable
subscribe
enableeos
unsubscribe
disable
subscribeenableeosmsg
eos eos
0 1 2 3 4
User
AdminServer
Use cases, Scenarios, Architecture, Requirements, Class Diagrams, Contracts,…
Behaviour modelsEg. Labelled Transition Systems
Synthesis
![Page 24: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/24.jpg)
Semantic Mismatch
unsubscribedisable
enable
eos
unsubscribe
disable
subscribe
enableeos
unsubscribe
disable
subscribeenableeosmsg
eos eos
0 1 2 3 4
User
AdminServer
Partial Description Complete Description
Required Behaviour
Proscribed Behaviour
Required Behaviour
Proscribed Behaviour
Undefined Behaviour
Synthesis
![Page 25: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/25.jpg)
Solution: Partial Behaviour Models
Capable of distinguishing Required, Proscribed and Unknown behaviour– Eg. Modal Transition Systems
Research threads– Refinement– Model Checking– Synthesis– Merge and Composition
request?
request
reply
[TSE09][FSE08][ASE08][ICTAC09][FM06]
![Page 26: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/26.jpg)
MTS Model Checker Open source: http://sourceforge.net/projects/mtsa/
Tool Support
![Page 27: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/27.jpg)
Implementation
Problem & Solution
Feedback
ModelsModelsModels
Feedback
Theme 3: Program Analysis
What can be said about the code?
![Page 28: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/28.jpg)
Implementation
Invariants
Bound on memory consumption as a function
of parameter values
Automatic Generation of Memory Consumption Certificates
[TVLSI09][JOT08][JOT06]
![Page 29: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/29.jpg)
Implementation
Problem & Solution
Feedback
ModelsModelsModels
Feedback
Theme 4: Model Checking
Can we increase scalability of model checking procedures?
![Page 30: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/30.jpg)
Feedback ZEUS
Optimised Timed Automata Behaviour Model
OptimisedReal Time Property
Timed Automata Behaviour Model
Real Time Property
ZEUS: Real Time Distributed Model Checking
Obslice
STTT’05, FMSD’06
![Page 31: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/31.jpg)
Overview Technical areas
– Model Extraction– Static Analysis– Memory usage prediction– Dynamic Analysis– (Distributed) Model Checking– Test-case generation– Test-guided model checking– Quantitative Modeling and Analysis– Machine learning– AOP– Model Synthesis– Partial Behaviour Models
Application Domains– Real time systems– Service Oriented Architectures– Distributed and Concurrent systems– Object-oriented programs– Embedded systems– Dynamic and reconfigurable systems
Software Engineering Activities– Requirements Engineering– Software Architecture– Testing– Design
![Page 32: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/32.jpg)
The Foundations and Tools for Software Engineering Lab
Department of Computing, FCEN, University of Buenos Aires, Argentina
Sebastian Uchitel
![Page 33: The Foundations and Tools for Software Engineering Lab Department of Computing, FCEN, University of Buenos Aires, Argentina Sebastian Uchitel](https://reader030.vdocuments.us/reader030/viewer/2022032709/56649e925503460f94b98096/html5/thumbnails/33.jpg)
Submit to ICSE
Deadline for submissions to the technical track: September 6
http://www.sbs.co.za/ICSE2010/