SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
Model Based Test Validation and Oracles for
Data Acquisition Systems
University of Luxembourg
Interdisciplinary Centre for Security, Reliability and Trust
Software Verification and Validation Lab
November 14, 2013
Daniel Di Nardo, Nadia Alshahwan, Lionel Briand, Elizabeta Fourneret
University of Luxembourg
Tomislav Nakic, Vincent Masquelier
SES S.A., Luxembourg
2
DAQ
System
Configurations
Log Files
Data
Context: Data Acquisition Systems
Structured/Complex
Defines
how input
transmissions
are processed
Captures what
happened while
processing
Context and Problem Definition
3
•  Complexity of DAQ systems lies in the structure of the input
transmission data and output log files and the mappings between these
two elements.
•  Problem:
–  Testing of such systems is difficult.
–  Test cases can be composed of large and highly complex input and
output files.
Why is DAQ Testing so Hard?
4
•  Manually constructing test inputs is too much work
•  Input data has a complex specific structure
–  Dependencies between different fields
–  Dependencies between input fields and configuration fields
•  System output logs are also complex and their size can grow very large
–  Manual inspection time consuming
•  Test oracle problem
–  Manual validation of test outputs is challenging and error-prone
•  Automation specifically designed for these systems is required
State of the Art
5
•  No directly related work
•  Model-based testing (MBT)
–  Large body of work
–  Focused on behavioral models
–  Not appropriate for modeling complex input/output file mappings
•  Modelling DAQ Systems
–  Focused on simulation and design
–  Test Oracle Automation not addressed by current approaches
–  Test Case Validation has not yet been addressed
6
DAQ
System
Configurations
Log Files
Data
How to Represent the System?
A Model Based Approach
7
DAQ
System
Input-Input
Input-Config
Input-Output
Constraints (OCL):
Input Transmission File
Config Files Output log Files
OCL
OCL
OCL
Modelling Methodology
8
•  Model system input and output data to automate test validation and
oracle checking
•  Requirements and domain knowledge is used without source code
analysis èApproach is black box
•  Modelling notation is not sufficient
•  Precise methodology to support the modelling objectives is necessary
Transmission File Structure
9
•  A satellite transmission consists of multiple Channel Data Units
Channel	
  Data	
  Unit	
  
Sync	
  
Marker	
  
Frame	
  Data	
   Reed	
  Solomon	
  check	
  symbols	
  
Frame	
  Data	
  
Header	
   PacketZone	
  
Header	
  
Spacecra=	
  ID	
   Virtual	
  Channel	
  ID	
   Frame	
  Count	
   Header	
  Error	
  Control	
  
Modelling the File Structure
10
Example Constraint on Input and Configuration
11
•  Constraint to ensure that the virtual channelId is valid (can be one of
many active ones or can be the idle channel).
!
!
context Header inv:!
!
let config : configurationData =!
self.frameData.channelData.transmissionData.configuration!
in!
!
config.cId->exists(x | x = self.channelId)!
or!
self.channelId = config.idleCId
Example Oracle Constraint
12
context ChannelData inv:!
let!
frameCount : Integer = self.frameData.header.frameCount,!
prevFrameCount : Integer = self.prevOnChannel.frameData.header.frameCount !
in !
!
not self.prevOnChannel->isEmpty() and !
if prevFrameCount < 16777215 !
then frameCount <> prevFrameCount + 1 !
else prevFrameCount = 16777215 and frameCount <> 0 !
endif !
implies !
self.transmissionData.outputData.frameDataReport.event!
.eventType->exists(i | i = Events::COUNTER_JUMP))
•  Constraint to ensure that the COUNTER_JUMP event is captured in the
output log.
Modelling Methodology – Applications
13
Four applications of the model in practice:
1.  Test Design and Generation
2.  Test Oracle
3.  Specifications Refinement
4.  Run-Time Verification
Modelling Methodology – Applications
14
Four applications of the model in practice:
1.  Test Design and generation
2.  Test Oracle
3.  Specifications Refinement
4.  Run-Time Verification
Automation
15
•  Tool architecture for the automation of test validation and oracles.
Case Study – Subject Selection
16
•  Selected a representative, complex DAQ system
•  System accepts a binary satellite transmission data file
•  Configuration files
•  Log files report on results of processing input file
•  32 test cases are approved for system validation (manually written)
•  Also use real transmission files (2 GB) to validate our approach and
assess its scalability
Case Study – Execution and Data Collection
17
Study DAQ System
Create the Model
Validate the Test Inputs
Check Oracle on Test Inputs/Outputs
Record Execution
Times
Case Study – RQ1
18
RQ1: How much effort is needed to produce the model
for a real system?
Case Study Results – Modelling Effort
19
Modelling Effort
•  One man-month
•  Time needed is largely dependent on the person’s domain knowledge
and expertise in modelling and in OCL
•  Size of the model
•  A surrogate measure to estimate the effort needed to follow our
modelling methodology in a specific context
Case Study Results – Modelling Effort
20
•  Size of the Input, Configuration and Output Models that were created
for the Case Study System
File Classes Attributes Associations Generalisations
Input 36 156 17 4
Configuration 9 30 6 1
Output 23 132 15 0
Total 68 318 38 5
Case Study Results – Modelling Effort
21
•  Information about Constraints for the Case Study System Classified by
the Files to which they apply
File # of
Constraints
# of
Clauses
# of Opers. on
Collections
# of
Iterative
Opers.
Input 15 30 6 1
Input/
Configuration
12 54 14 6
Input/Output 10 38 2 10
Input/
Configuration/
Output
12 87 15 19
Total 49 209 37 36
Case Study Results – Modelling Effort
22
RQ1: How much effort is needed to produce the model for a real system?
Answer:
•  Results show that the size of the model is much less than what is typically
observed when modelling system designs
•  Cost of modelling was considered acceptable by the system’s engineers
Case Study – RQ2
23
RQ2: How long does it take to validate test cases and
check the oracle?
Acceptance Test Cases – Execution Time
24
•  Average, minimum, maximum execution times for all acceptance test
cases
Operation Execution Time (ms)
Min Max Avg.
Model
Instantiation
684 845 762
Test Input
Validation
1 56 41
Oracle Checking < 1 39 31
Total 685 940 834
Large Transmissions - Model Instantiation Time
25
•  Model instantiation time by input file size
Large Transmissions – Input Validation Time
26
•  Input validation time by input file size
Large Transmissions - Oracle Validation Time
27
•  Oracle checking time by input file size
Case Study Results – RQ2
28
RQ2: How long does it take to validate test cases and check the oracle?
Answer:
•  Results show that our approach is scalable in terms of execution time
•  Test validation and oracle checking execution time on real transmission
files is manageable in practice, with less than 3 and 50 minutes for
input and oracle constraints, respectively
•  Linear relationship between size of input file and execution time makes
it possible to potentially process much larger files
Case Study – RQ3
29
RQ3: Is the model effective in practice in validating test
cases and checking the oracle? Is it effective in
uncovering issues, if any, in the input files, the DAQ
system, or the specifications of the system?
Case Study Results – RQ3
30
•  Validated the actual 32 test cases using our tool
•  Our test validation approach could help identify specifications changes
without the need to execute the transmission file on the system
•  No violations of the oracle constraints were reported
•  When validating the real transmission files, we found that in some files
many input constraints were violated
Case Study Results – RQ3
31
RQ3: Is the model effective in practice in validating test cases and
checking the oracle? Is it effective in uncovering issues, if any, in the input
files, the DAQ system, or the specifications of the system?
Answer:
•  Results show that our approach is effective in validating test cases and
checking the oracle
•  Our approach is also able to identify implicit changes in specifications
of the input file and the DAQ system
•  SES system integration
•  Deploy the oracle checker into the SES build process for the
current system under evaluation.
•  Training / Knowledge Transfer to Industry partner.
•  Apply our methodology to other DAQ systems.
Success Story
32
33
Overall Approach
34
Current Progress on Approach
Oracle and input
checker is fully
working
35
Next Steps: Automated Input Generation
•  Currently defining method of
automatically generating
erroneous inputs based on
realistic faults
•  Example faults:
•  Flipped bits
•  Missing packets
•  Created an automated test validation and oracle checking approach
for systems with complex inputs/outputs and mappings between
inputs and outputs, e.g., Data Acquisition Systems.
•  Approach driven by models of the input/output structure and content.
•  We defined a specific modelling methodology using UML class
diagrams and OCL constraints.
•  Case study shows that the modelling approach is scalable.
•  Input and oracle validation executed within reasonable times.
•  And people are using it!
Conclusion
36
Supported by the Fonds National de la Recherche, Luxembourg
(FNR/P10/03 and FNR 4082113)
37
•  Automated test case generation
•  Simple approach:
•  Start with a valid input file
•  mutate values corresponding to model leaf node (e.g., flip
bits)
•  Possible selection criteria:
•  break all constraints
•  break combos of constraints
•  Mutate thousands of times -> run through input validator ->
select most diverse test cases for test suite
Next Steps
38
Progress: Tool Implementation
•  Implemented a testing framework:
–  Loads existing input file into the model
–  Checks constraints on input and configuration
–  Checks constraints on output
•  Used the tool to validate the model against existing SES test cases
–  Helps in reviewing the model and constraints
–  Initial test of the approach where we know the expected result
39
Modelling Methodology – File Structure
40
File Item Model Element Example
Field Class ChannelData
Leaf Field Class or
Attribute
Sync
spacecraftId
Property Attribute dataLength in Packet class
Containment Composition ChannelData is composed of Sync
and FrameData
Alternative
Sub-components
Generalisation PacketZone can either be an
IdlePacketZone or a PacketSet
Optional/Multi
Sub-components
Multiplicity One PacketSet can have one or
many instances of Packet
Dependency Association The association between
TransmissionData and Configuration
Computation Operation calculateRsCrc
Case Study Results – Threats to Validity
41
•  Internal Threats
–  we used all the test cases and transmission files provided by the
system testers to avoid experimenter bias
•  External Threats
–  might only be relevant in the DAQ application domain;
nevertheless, this domain is important and widely used
•  Construct Threats
–  to study scalability, used the size of the model and constraints and
the execution time of the validation and oracle checking processes
–  for execution time, might depend on content of file the used;
transmission files are not only real but representative

Contenu connexe

Tendances

Model-driven trace diagnostics for pattern-based temporal specifications
Model-driven trace diagnostics for pattern-based temporal specificationsModel-driven trace diagnostics for pattern-based temporal specifications
Model-driven trace diagnostics for pattern-based temporal specificationsLionel Briand
 
Scalable Software Testing and Verification of Non-Functional Properties throu...
Scalable Software Testing and Verification of Non-Functional Properties throu...Scalable Software Testing and Verification of Non-Functional Properties throu...
Scalable Software Testing and Verification of Non-Functional Properties throu...Lionel Briand
 
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...Lionel Briand
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learningSung Kim
 
An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...SAIL_QU
 
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...Lionel Briand
 
Enabling Model Testing of Cyber Physical Systems
Enabling Model Testing of Cyber Physical SystemsEnabling Model Testing of Cyber Physical Systems
Enabling Model Testing of Cyber Physical SystemsLionel Briand
 
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...Lionel Briand
 
Automated Test Suite Generation for Time-Continuous Simulink Models
Automated Test Suite Generation for Time-Continuous Simulink ModelsAutomated Test Suite Generation for Time-Continuous Simulink Models
Automated Test Suite Generation for Time-Continuous Simulink ModelsLionel Briand
 
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow ControllersEffective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow ControllersLionel Briand
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingLionel Briand
 
Automated Vulnerability Testing Using Machine Learning and Metaheuristic Search
Automated Vulnerability Testing Using Machine Learning and Metaheuristic SearchAutomated Vulnerability Testing Using Machine Learning and Metaheuristic Search
Automated Vulnerability Testing Using Machine Learning and Metaheuristic SearchLionel Briand
 
Defect Prediction Over Software Life Cycle in Automotive Domain
Defect Prediction Over Software Life Cycle   in Automotive DomainDefect Prediction Over Software Life Cycle   in Automotive Domain
Defect Prediction Over Software Life Cycle in Automotive DomainRAKESH RANA
 
Improving Fault Localization for Simulink Models using Search-Based Testing a...
Improving Fault Localization for Simulink Models using Search-Based Testing a...Improving Fault Localization for Simulink Models using Search-Based Testing a...
Improving Fault Localization for Simulink Models using Search-Based Testing a...Lionel Briand
 
Tutorial databasetestingusingsql
Tutorial databasetestingusingsqlTutorial databasetestingusingsql
Tutorial databasetestingusingsqlRenuka Ballal
 
Test Case Prioritization for Acceptance Testing of Cyber Physical Systems
Test Case Prioritization for Acceptance Testing of Cyber Physical SystemsTest Case Prioritization for Acceptance Testing of Cyber Physical Systems
Test Case Prioritization for Acceptance Testing of Cyber Physical SystemsLionel Briand
 
Applications of Machine Learning and Metaheuristic Search to Security Testing
Applications of Machine Learning and Metaheuristic Search to Security TestingApplications of Machine Learning and Metaheuristic Search to Security Testing
Applications of Machine Learning and Metaheuristic Search to Security TestingLionel Briand
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect predictionAmmAr mobark
 
Log-Based Slicing for System-Level Test Cases
Log-Based Slicing for System-Level Test CasesLog-Based Slicing for System-Level Test Cases
Log-Based Slicing for System-Level Test CasesLionel Briand
 
Search-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsSearch-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsLionel Briand
 

Tendances (20)

Model-driven trace diagnostics for pattern-based temporal specifications
Model-driven trace diagnostics for pattern-based temporal specificationsModel-driven trace diagnostics for pattern-based temporal specifications
Model-driven trace diagnostics for pattern-based temporal specifications
 
Scalable Software Testing and Verification of Non-Functional Properties throu...
Scalable Software Testing and Verification of Non-Functional Properties throu...Scalable Software Testing and Verification of Non-Functional Properties throu...
Scalable Software Testing and Verification of Non-Functional Properties throu...
 
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learning
 
An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...
 
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...
AN EMPIRICAL STUDY ON THE POTENTIAL USEFULNESS OF DOMAIN MODELS FOR COMPLETEN...
 
Enabling Model Testing of Cyber Physical Systems
Enabling Model Testing of Cyber Physical SystemsEnabling Model Testing of Cyber Physical Systems
Enabling Model Testing of Cyber Physical Systems
 
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
 
Automated Test Suite Generation for Time-Continuous Simulink Models
Automated Test Suite Generation for Time-Continuous Simulink ModelsAutomated Test Suite Generation for Time-Continuous Simulink Models
Automated Test Suite Generation for Time-Continuous Simulink Models
 
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow ControllersEffective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
 
Automated Vulnerability Testing Using Machine Learning and Metaheuristic Search
Automated Vulnerability Testing Using Machine Learning and Metaheuristic SearchAutomated Vulnerability Testing Using Machine Learning and Metaheuristic Search
Automated Vulnerability Testing Using Machine Learning and Metaheuristic Search
 
Defect Prediction Over Software Life Cycle in Automotive Domain
Defect Prediction Over Software Life Cycle   in Automotive DomainDefect Prediction Over Software Life Cycle   in Automotive Domain
Defect Prediction Over Software Life Cycle in Automotive Domain
 
Improving Fault Localization for Simulink Models using Search-Based Testing a...
Improving Fault Localization for Simulink Models using Search-Based Testing a...Improving Fault Localization for Simulink Models using Search-Based Testing a...
Improving Fault Localization for Simulink Models using Search-Based Testing a...
 
Tutorial databasetestingusingsql
Tutorial databasetestingusingsqlTutorial databasetestingusingsql
Tutorial databasetestingusingsql
 
Test Case Prioritization for Acceptance Testing of Cyber Physical Systems
Test Case Prioritization for Acceptance Testing of Cyber Physical SystemsTest Case Prioritization for Acceptance Testing of Cyber Physical Systems
Test Case Prioritization for Acceptance Testing of Cyber Physical Systems
 
Applications of Machine Learning and Metaheuristic Search to Security Testing
Applications of Machine Learning and Metaheuristic Search to Security TestingApplications of Machine Learning and Metaheuristic Search to Security Testing
Applications of Machine Learning and Metaheuristic Search to Security Testing
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect prediction
 
Log-Based Slicing for System-Level Test Cases
Log-Based Slicing for System-Level Test CasesLog-Based Slicing for System-Level Test Cases
Log-Based Slicing for System-Level Test Cases
 
Search-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsSearch-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing Systems
 

Similaire à Model Based Test Validation and Oracles for Data Acquisition Systems

The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...
The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...
The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...C4Media
 
Dealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDVClub
 
Advanced Automated Analytics Using OSS Tools
Advanced Automated Analytics Using OSS ToolsAdvanced Automated Analytics Using OSS Tools
Advanced Automated Analytics Using OSS ToolsGrid Protection Alliance
 
Advanced Automated Analytics Using OSS Tools
Advanced Automated Analytics Using OSS ToolsAdvanced Automated Analytics Using OSS Tools
Advanced Automated Analytics Using OSS ToolsGrid Protection Alliance
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsSAIL_QU
 
naveed-kamran-software-architecture-agile
naveed-kamran-software-architecture-agilenaveed-kamran-software-architecture-agile
naveed-kamran-software-architecture-agileNaveed Kamran
 
Building an Experimentation Platform in Clojure
Building an Experimentation Platform in ClojureBuilding an Experimentation Platform in Clojure
Building an Experimentation Platform in ClojureSrihari Sriraman
 
ADDO Open Source Observability Tools
ADDO Open Source Observability Tools ADDO Open Source Observability Tools
ADDO Open Source Observability Tools Mickey Boxell
 
Continuous Validation at Scale
Continuous Validation at ScaleContinuous Validation at Scale
Continuous Validation at ScaleMirantis
 
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Praveen Penumathsa
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingLionel Briand
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1Qualitest
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting startedQualitest
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Lionel Briand
 
Secrets of highly_avail_oltp_archs
Secrets of highly_avail_oltp_archsSecrets of highly_avail_oltp_archs
Secrets of highly_avail_oltp_archsTarik Essawi
 
API-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptxAPI-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptxamarnathdeo
 
Test data documentation ss
Test data documentation ssTest data documentation ss
Test data documentation ssAshwiniPoloju
 
Unit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringUnit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringKanchanPatil34
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2Divya Tiwari
 

Similaire à Model Based Test Validation and Oracles for Data Acquisition Systems (20)

The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...
The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...
The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...
 
Dealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in Verification
 
Advanced Automated Analytics Using OSS Tools
Advanced Automated Analytics Using OSS ToolsAdvanced Automated Analytics Using OSS Tools
Advanced Automated Analytics Using OSS Tools
 
Advanced Automated Analytics Using OSS Tools
Advanced Automated Analytics Using OSS ToolsAdvanced Automated Analytics Using OSS Tools
Advanced Automated Analytics Using OSS Tools
 
QualiSystems-Brief TestShell
QualiSystems-Brief TestShellQualiSystems-Brief TestShell
QualiSystems-Brief TestShell
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 
naveed-kamran-software-architecture-agile
naveed-kamran-software-architecture-agilenaveed-kamran-software-architecture-agile
naveed-kamran-software-architecture-agile
 
Building an Experimentation Platform in Clojure
Building an Experimentation Platform in ClojureBuilding an Experimentation Platform in Clojure
Building an Experimentation Platform in Clojure
 
ADDO Open Source Observability Tools
ADDO Open Source Observability Tools ADDO Open Source Observability Tools
ADDO Open Source Observability Tools
 
Continuous Validation at Scale
Continuous Validation at ScaleContinuous Validation at Scale
Continuous Validation at Scale
 
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and Testing
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
 
Secrets of highly_avail_oltp_archs
Secrets of highly_avail_oltp_archsSecrets of highly_avail_oltp_archs
Secrets of highly_avail_oltp_archs
 
API-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptxAPI-Testing-SOAPUI-1.pptx
API-Testing-SOAPUI-1.pptx
 
Test data documentation ss
Test data documentation ssTest data documentation ss
Test data documentation ss
 
Unit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringUnit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineering
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
 

Plus de Lionel Briand

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityLionel Briand
 
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Lionel Briand
 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingLionel Briand
 
Data-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsData-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsLionel Briand
 
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsMany-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsLionel Briand
 
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...Lionel Briand
 
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Lionel Briand
 
PRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsPRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsLionel Briand
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingLionel Briand
 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Lionel Briand
 
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyAutonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyLionel Briand
 
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Lionel Briand
 
Reinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationReinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationLionel Briand
 
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Lionel Briand
 
On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...Lionel Briand
 
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Lionel Briand
 
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Lionel Briand
 
A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...Lionel Briand
 

Plus de Lionel Briand (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System Security
 
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation Testing
 
Data-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsData-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical Systems
 
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsMany-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
 
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
 
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
 
PRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsPRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System Logs
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software Testing
 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
 
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyAutonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
 
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
 
Reinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationReinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case Prioritization
 
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
 
On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...
 
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
 
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
 
A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...
 

Model Based Test Validation and Oracles for Data Acquisition Systems

  • 1. Model Based Test Validation and Oracles for Data Acquisition Systems University of Luxembourg Interdisciplinary Centre for Security, Reliability and Trust Software Verification and Validation Lab November 14, 2013 Daniel Di Nardo, Nadia Alshahwan, Lionel Briand, Elizabeta Fourneret University of Luxembourg Tomislav Nakic, Vincent Masquelier SES S.A., Luxembourg
  • 2. 2 DAQ System Configurations Log Files Data Context: Data Acquisition Systems Structured/Complex Defines how input transmissions are processed Captures what happened while processing
  • 3. Context and Problem Definition 3 •  Complexity of DAQ systems lies in the structure of the input transmission data and output log files and the mappings between these two elements. •  Problem: –  Testing of such systems is difficult. –  Test cases can be composed of large and highly complex input and output files.
  • 4. Why is DAQ Testing so Hard? 4 •  Manually constructing test inputs is too much work •  Input data has a complex specific structure –  Dependencies between different fields –  Dependencies between input fields and configuration fields •  System output logs are also complex and their size can grow very large –  Manual inspection time consuming •  Test oracle problem –  Manual validation of test outputs is challenging and error-prone •  Automation specifically designed for these systems is required
  • 5. State of the Art 5 •  No directly related work •  Model-based testing (MBT) –  Large body of work –  Focused on behavioral models –  Not appropriate for modeling complex input/output file mappings •  Modelling DAQ Systems –  Focused on simulation and design –  Test Oracle Automation not addressed by current approaches –  Test Case Validation has not yet been addressed
  • 7. A Model Based Approach 7 DAQ System Input-Input Input-Config Input-Output Constraints (OCL): Input Transmission File Config Files Output log Files OCL OCL OCL
  • 8. Modelling Methodology 8 •  Model system input and output data to automate test validation and oracle checking •  Requirements and domain knowledge is used without source code analysis èApproach is black box •  Modelling notation is not sufficient •  Precise methodology to support the modelling objectives is necessary
  • 9. Transmission File Structure 9 •  A satellite transmission consists of multiple Channel Data Units Channel  Data  Unit   Sync   Marker   Frame  Data   Reed  Solomon  check  symbols   Frame  Data   Header   PacketZone   Header   Spacecra=  ID   Virtual  Channel  ID   Frame  Count   Header  Error  Control  
  • 10. Modelling the File Structure 10
  • 11. Example Constraint on Input and Configuration 11 •  Constraint to ensure that the virtual channelId is valid (can be one of many active ones or can be the idle channel). ! ! context Header inv:! ! let config : configurationData =! self.frameData.channelData.transmissionData.configuration! in! ! config.cId->exists(x | x = self.channelId)! or! self.channelId = config.idleCId
  • 12. Example Oracle Constraint 12 context ChannelData inv:! let! frameCount : Integer = self.frameData.header.frameCount,! prevFrameCount : Integer = self.prevOnChannel.frameData.header.frameCount ! in ! ! not self.prevOnChannel->isEmpty() and ! if prevFrameCount < 16777215 ! then frameCount <> prevFrameCount + 1 ! else prevFrameCount = 16777215 and frameCount <> 0 ! endif ! implies ! self.transmissionData.outputData.frameDataReport.event! .eventType->exists(i | i = Events::COUNTER_JUMP)) •  Constraint to ensure that the COUNTER_JUMP event is captured in the output log.
  • 13. Modelling Methodology – Applications 13 Four applications of the model in practice: 1.  Test Design and Generation 2.  Test Oracle 3.  Specifications Refinement 4.  Run-Time Verification
  • 14. Modelling Methodology – Applications 14 Four applications of the model in practice: 1.  Test Design and generation 2.  Test Oracle 3.  Specifications Refinement 4.  Run-Time Verification
  • 15. Automation 15 •  Tool architecture for the automation of test validation and oracles.
  • 16. Case Study – Subject Selection 16 •  Selected a representative, complex DAQ system •  System accepts a binary satellite transmission data file •  Configuration files •  Log files report on results of processing input file •  32 test cases are approved for system validation (manually written) •  Also use real transmission files (2 GB) to validate our approach and assess its scalability
  • 17. Case Study – Execution and Data Collection 17 Study DAQ System Create the Model Validate the Test Inputs Check Oracle on Test Inputs/Outputs Record Execution Times
  • 18. Case Study – RQ1 18 RQ1: How much effort is needed to produce the model for a real system?
  • 19. Case Study Results – Modelling Effort 19 Modelling Effort •  One man-month •  Time needed is largely dependent on the person’s domain knowledge and expertise in modelling and in OCL •  Size of the model •  A surrogate measure to estimate the effort needed to follow our modelling methodology in a specific context
  • 20. Case Study Results – Modelling Effort 20 •  Size of the Input, Configuration and Output Models that were created for the Case Study System File Classes Attributes Associations Generalisations Input 36 156 17 4 Configuration 9 30 6 1 Output 23 132 15 0 Total 68 318 38 5
  • 21. Case Study Results – Modelling Effort 21 •  Information about Constraints for the Case Study System Classified by the Files to which they apply File # of Constraints # of Clauses # of Opers. on Collections # of Iterative Opers. Input 15 30 6 1 Input/ Configuration 12 54 14 6 Input/Output 10 38 2 10 Input/ Configuration/ Output 12 87 15 19 Total 49 209 37 36
  • 22. Case Study Results – Modelling Effort 22 RQ1: How much effort is needed to produce the model for a real system? Answer: •  Results show that the size of the model is much less than what is typically observed when modelling system designs •  Cost of modelling was considered acceptable by the system’s engineers
  • 23. Case Study – RQ2 23 RQ2: How long does it take to validate test cases and check the oracle?
  • 24. Acceptance Test Cases – Execution Time 24 •  Average, minimum, maximum execution times for all acceptance test cases Operation Execution Time (ms) Min Max Avg. Model Instantiation 684 845 762 Test Input Validation 1 56 41 Oracle Checking < 1 39 31 Total 685 940 834
  • 25. Large Transmissions - Model Instantiation Time 25 •  Model instantiation time by input file size
  • 26. Large Transmissions – Input Validation Time 26 •  Input validation time by input file size
  • 27. Large Transmissions - Oracle Validation Time 27 •  Oracle checking time by input file size
  • 28. Case Study Results – RQ2 28 RQ2: How long does it take to validate test cases and check the oracle? Answer: •  Results show that our approach is scalable in terms of execution time •  Test validation and oracle checking execution time on real transmission files is manageable in practice, with less than 3 and 50 minutes for input and oracle constraints, respectively •  Linear relationship between size of input file and execution time makes it possible to potentially process much larger files
  • 29. Case Study – RQ3 29 RQ3: Is the model effective in practice in validating test cases and checking the oracle? Is it effective in uncovering issues, if any, in the input files, the DAQ system, or the specifications of the system?
  • 30. Case Study Results – RQ3 30 •  Validated the actual 32 test cases using our tool •  Our test validation approach could help identify specifications changes without the need to execute the transmission file on the system •  No violations of the oracle constraints were reported •  When validating the real transmission files, we found that in some files many input constraints were violated
  • 31. Case Study Results – RQ3 31 RQ3: Is the model effective in practice in validating test cases and checking the oracle? Is it effective in uncovering issues, if any, in the input files, the DAQ system, or the specifications of the system? Answer: •  Results show that our approach is effective in validating test cases and checking the oracle •  Our approach is also able to identify implicit changes in specifications of the input file and the DAQ system
  • 32. •  SES system integration •  Deploy the oracle checker into the SES build process for the current system under evaluation. •  Training / Knowledge Transfer to Industry partner. •  Apply our methodology to other DAQ systems. Success Story 32
  • 34. 34 Current Progress on Approach Oracle and input checker is fully working
  • 35. 35 Next Steps: Automated Input Generation •  Currently defining method of automatically generating erroneous inputs based on realistic faults •  Example faults: •  Flipped bits •  Missing packets
  • 36. •  Created an automated test validation and oracle checking approach for systems with complex inputs/outputs and mappings between inputs and outputs, e.g., Data Acquisition Systems. •  Approach driven by models of the input/output structure and content. •  We defined a specific modelling methodology using UML class diagrams and OCL constraints. •  Case study shows that the modelling approach is scalable. •  Input and oracle validation executed within reasonable times. •  And people are using it! Conclusion 36 Supported by the Fonds National de la Recherche, Luxembourg (FNR/P10/03 and FNR 4082113)
  • 37. 37
  • 38. •  Automated test case generation •  Simple approach: •  Start with a valid input file •  mutate values corresponding to model leaf node (e.g., flip bits) •  Possible selection criteria: •  break all constraints •  break combos of constraints •  Mutate thousands of times -> run through input validator -> select most diverse test cases for test suite Next Steps 38
  • 39. Progress: Tool Implementation •  Implemented a testing framework: –  Loads existing input file into the model –  Checks constraints on input and configuration –  Checks constraints on output •  Used the tool to validate the model against existing SES test cases –  Helps in reviewing the model and constraints –  Initial test of the approach where we know the expected result 39
  • 40. Modelling Methodology – File Structure 40 File Item Model Element Example Field Class ChannelData Leaf Field Class or Attribute Sync spacecraftId Property Attribute dataLength in Packet class Containment Composition ChannelData is composed of Sync and FrameData Alternative Sub-components Generalisation PacketZone can either be an IdlePacketZone or a PacketSet Optional/Multi Sub-components Multiplicity One PacketSet can have one or many instances of Packet Dependency Association The association between TransmissionData and Configuration Computation Operation calculateRsCrc
  • 41. Case Study Results – Threats to Validity 41 •  Internal Threats –  we used all the test cases and transmission files provided by the system testers to avoid experimenter bias •  External Threats –  might only be relevant in the DAQ application domain; nevertheless, this domain is important and widely used •  Construct Threats –  to study scalability, used the size of the model and constraints and the execution time of the validation and oracle checking processes –  for execution time, might depend on content of file the used; transmission files are not only real but representative