110 likes | 126 Views
VERIFICATION IN CHUNK-BASED SOFTWARE EVOLUTION. Mehrnaz Najafi , Rick Salay and Marsha Chechik NECSIS/ORF Workshop 2014. The Verification Problem. |= P 1. |= P 2. The Verification Problem. |= P 1. |= P 2. |= P 1 ∧P 2 ?. First Step: Componentization.
E N D
VERIFICATION IN CHUNK-BASED SOFTWARE EVOLUTION MehrnazNajafi, Rick Salay and Marsha Chechik NECSIS/ORF Workshop 2014
The Verification Problem |= P1 |= P2
The Verification Problem |= P1 |= P2 |= P1∧P2 ?
First Step: Componentization Goal: Parallel Composed Components • Desirable properties: • Preserve structure • Minimal changes
Second Step: Plant Synthesis Problem: The parallel composition is too large to verify! Plant
Second Step: Plant Synthesis Method: Learning algorithm [1] (LTSA Tool [2]) Steps: Convert to LTS 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.
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
Third Step: Model Checking Modified chunk P1 P2 Plant Model Checking LTSA Tool No Yes
Future Work • Reuse existing plants • Support for liveness properties • Using other techniques to synthesize plants
Thank You • Questions?