Verification in Chunk-Based Software Evolution

1
VERIFICATION IN CHUNK-BASED
SOFTWARE EVOLUTION
Mehrnaz Najafi, Rick Salay and Marsha Chechik
NECSIS/ORF Workshop 2014
2
The Verification Problem
|= P1
|= P2
3
The Verification Problem
|= P1
|= P2
|= P1∧P2
?
4
First Step: Componentization
Goal: Parallel Composed
Components
Desirable properties:
•Preserve structure
•Minimal changes
5
Second Step: Plant Synthesis
Problem: The parallel
composition is too large to verify!
Plant
6
Second Step: Plant Synthesis
Method: Learning algorithm [1]
(LTSA Tool [2])
Steps:
1. Convert to LTS
2. Apply learning using LTSA
Plant
[1] C. S. Pasareanu et al., Learning to divide and conquer:
applying the L* algorithm to automate assume-guarantee
reasoning, FMSD, Vol. 32, Issue 3, 2008.
[2] J. Magee and J. Kramer, Concurrency: state models &
Java programs, John Wiley & Sons, 1999.
7
Pros and Cons of Learning
Automated Synthesis
Conversion of behavioral models to LTSs increases the
size of behavioral models
Currently, the learning technique only supports safety
properties
8
Third Step: Model Checking
Modified
chunk
P1
P2
Plant
Model Checking LTSA Tool
No
Yes
9
Future Work
• Reuse existing plants
• Support for liveness properties
• Using other techniques to synthesize plants
10
Please See Our Poster !
11
Thank You
• Questions?