SpecDiff: Differencing LTSs Zhenchang Xing *, Jun Sun +, Yang Liu * and Jin Song Dong * * National University of Singapore + Singapore University of Technology.

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Advertisements

April 30, A New Tool for Designer-Level Verification: From Concept to Reality April 30, 2014 Ziv Nevo IBM Haifa Research Lab.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Module 7: Advanced Development  GEM only slides here  Started on page 38 in SC09 version Module 77-0.
Testing and Quality Assurance
SpecC and SpecCharts Reviewed and Presented by Heemin Park and Eric Kwan EE202A - Fall 2001 Professor Mani Srivastava.
Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai.
CLEANROOM SOFTWARE ENGINEERING
Implementing Rule Checking Early in the Design Cycle to Reduce Design Iterations and Verification Time Kent Moffat DesignAnalyst Product Manager Mentor.
Towards a Model Checker for NesC and Wireless Sensor Networks Manchun Zheng 1, Jun Sun 2, Yang Liu 1, Jin Song Dong 1, and Yu Gu 2 1 National University.
Project 4 U-Pick – A Project of Your Own Design Proposal Due: April 14 th (earlier ok) Project Due: April 25 th.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
1 IFM 2005 – November 30, 2005 EXP.OPEN 2.0 A flexible tool integrating partial order, compositional, and on-the-fly verification methods Frédéric Lang.
High-Level System Design Using Foresight Giovanna Di Marzo Serugendo IT / CE.
CSC Proprietary CATALYST OCMM ASSESSMENT PART OF THE CATALYST TOPIC INTRODUCTION SERIES FOR CSC INTERNAL USE ONLY.
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
SAS_06_STOL_Tool_Cooper Automated Systems Test and Operations Language (STOL) Analysis Tool Jason G. Cooper July 20, 2006.
Jun. Sun Singapore University of Technology and Design Songzheng Song and Yang Liu National University of Singapore.
Yang LIU Senior Research Scientist National University of Singapore (joint work with Jun SUN and Jin Song DONG and PAT research team)
© Siemens AG, CT SE 1, Dr. A. Ulrich C O R P O R A T E T E C H N O L O G Y Research at Siemens CT SE Software & Engineering Development Techniques.
CLEANROOM SOFTWARE ENGINEERING.
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
GrIDS -- A Graph Based Intrusion Detection System For Large Networks Paper by S. Staniford-Chen et. al.
Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
TOPIC : Types of fault simulation
A Formal Semantics for Complete UML State Machines with Communications Shuang Liu 1, Yang Liu 2, Étienne André 3, Christine Choppy 3, Jun Sun 4, Bimlesh.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Automatic Diagnosis and Response to Memory Corruption Vulnerabilities Authors: Jun Xu, Peng Ning, Chongkyung Kil, Yan Zhai, Chris Bookholt In ACM CCS’05.
©NEC Laboratories America 1 Huadong Liu (U. of Tennessee) Hui Zhang, Rauf Izmailov, Guofei Jiang, Xiaoqiao Meng (NEC Labs America) Presented by: Hui Zhang.
Yang Liu, Jun Sun and Jin Song Dong School of Computing National University of Singapore.
What Change History Tells Us about Thread Synchronization RUI GU, GUOLIANG JIN, LINHAI SONG, LINJIE ZHU, SHAN LU UNIVERSITY OF WISCONSIN – MADISON, USA.
Specifying and Verifying Event-based Fairness Enhanced Systems 1 ICFEM 2008 Specifying and Verifying Event-based Fairness Enhanced Systems Jun SUN, Yang.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
Analysis of Concurrent Software Models Using Partial Order Views Qiang Sun, Yuting Chen,
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
Mining Logical Clones in Software: Revealing High-Level Business & Programming Rules Wenyi Qian 1, Xin Peng 1, Zhenchang Xing 2, Stan Jarzabek 3, Wenyun.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516.
1 UP MBT Extending the Unified Process with Model-Based Testing Fabrice Bouquet, Stéphane Debricon, Bruno Legeard and Jean-Daniel Nicolet MoDeV 2 a 2006.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
1 Work Package 2 Identification and Formalization of Knowledge  “(The report proposes) a generic technique for defining programming model specific abstractions.
Model Checking Linearizability via Refinement 1 ICFEM 2008 Model Checking Linearizability via Refinement Yang LIU, Wei CHEN, Yanhong A. LIU, and Jun SUN.
What is Enterprise Architecture March Enterprise Architecture Architecture –the fundamental organization of a system, embodied in its components,
ICFEM 2002, Shanghai Reasoning about Hardware and Software Memory Models Abhik Roychoudhury School of Computing National University of Singapore.
CAPP: Change-Aware Preemption Prioritization Vilas Jagannath, Qingzhou Luo, Darko Marinov Sep 6 th 2011.
Prof. Hany H. Ammar, CSEE, WVU, and
Jun Sun, Yang Liu, Jin Song Dong and Xian Zhang School of Computing National University of Singapore.
Palantír: Increasing Awareness in Distributed Software Development Anita Sarma and André van der Hoek {asarma, Institute for Software.
Using Bayesian Belief Networks in Assessing Software Architectures Jilles van Gurp & Jan Bosch.
Synthesizing Component- Level Behavior Models from Scenarios and Constraints Ivo Krka.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
UCI Large-Scale Collection of Application Usage Data to Inform Software Development David M. Hilbert David F. Redmiles Information and Computer Science.
Managing Qualitative Knowledge in Software Architecture Assesment Jilles van Gurp & Jan Bosch Högskolan Karlskrona/Ronneby in Sweden Department of Software.
What is Enterprise Architecture Very Quick Overview
Software Configuration Management CSC-532
High-level System Design Using Foresight
Specifying Multithreaded Java semantics for Program Verification
Ada – 1983 History’s largest design effort
Automatic Derivation, Integration and Verification
Software system modeling
Software Development Cycle
THE OLD WAY AND THE NEW Conventional software engineering has numerous well-established principles. Many are still valid; others are obsolete. A modern.
Model Checking and Its Applications
Presentation transcript:

SpecDiff: Differencing LTSs Zhenchang Xing *, Jun Sun +, Yang Liu * and Jin Song Dong * * National University of Singapore + Singapore University of Technology and Design

Program Behaviors Change! Program behavior changes Program evolution Different behavioral exploration methods

The Evolution of Specification

An Evolved Concurrent Stack Spec in CSP# An earlier version A later version Violating the linearizibility ! Evolve

The Differences Lead to Program Fault? The LTS of the earlier version The LTS of the later version Diagnosing faulty evolution ?

The Application of Partial Order Reduction

A Dinning-Philosophers Spec in CSP# Dinning-Philosophers

“Reduced” States and Transitions? No Partial Order Reduction (118 states/300 transitions) Partial Order Reduction (116 states/248 transitions) Impact of partial order reduction ?

The Application of Process Counter Abstraction

Parameterized Readers-Writer Lock A Readers-Writer Lock Spec in CSP#

Cutoff number = 2Cutoff number = 1 Recurring Changes as Cutoff Number Increases? Cutoff number = 3 Cutoff number = 4 Behavioral patterns of parameterized systems ?

Analyzing Changing Program Behaviors – Diagnosing faulty evolution – Evaluating impact of different behavior exploration methods – Revealing behavioral change patterns of parameterized systems – ……

SpecDiff Architecture An Overview of Our SpecDiff Approach

Differencing LTSs By GenericDiff

Analyzing LTS Differences

Diagnosing Faulty Program Evolution Black: matched states/transitions in both LTSs; Green: unmatched states/transitions in the earlier-version LTS; Red: unmatched states/transitions in the later-version LTS

Tool Support & Usage Formal Tool Demonstration, ASE’10

Initial Evaluation The evolution of a concurrent stack The application of partial order reduction The application of process counter abstraction Three pilot-study scenarios Debugging faulty program evolution Understanding the impacts of state reduction techniques Revealing behavioral change patterns in the verification of parameterized systems SpecDiff assists in

How to Scale it Up?

Why Not Use Counter Examples?

Effectiveness & Applicability SpecDiff: Differencing LTSs Conclusions and Future Work Tool Support & Usage Scale it Up!