SlideShare a Scribd company logo
1 of 58
Download to read offline
.lusoftware verification & validation
VVS
Model-driven trace diagnostics 

for pattern-based 

temporal specifications
Wei Dou, Domenico Bianculli, Lionel Briand
SnT Centre - University of Luxembourg
.lusoftware verification & validation
VVS
Model-driven trace diagnostics 

for pattern-based 

temporal specifications
Wei Dou, Domenico Bianculli, Lionel Briand
SnT Centre - University of Luxembourg
Trace Diagnostics Problem
Trace Checking
!4
“An automatic procedure for evaluating a

specification over a trace of

recorded events produced by a system”
Verification Verdict
• A truth value from some truth domain stating whether the
specification holds on the trace
• It the verdict is false, a software engineer needs to diagnose
the property violations found in the trace
!5
How useful is a verdict
for trace diagnostics?
!6
7
Example of Verdict
!7
MarQ
First violating trace element
Incomplete information
Textual output
8
Example of Verdict
!8
MonPoly
All violating trace elements
Limited information
Textual output
9
Example of Verdict
!9
Breach
Checking Simple Properties with Nominal Parameters
We can plot the satisfaction function again to interpret the result.
AFC_w_Specs.PlotRobustSat(AF_ev_not_ok2);
0 5 10 15 20 25 30
-1
0
1
controller_mode[t]==0
false
true
Quant. sat
Bool. sat
0 5 10 15 20 25 30
-20
0
20
AF[t]- AFref[t] > 0.01*14.7
false
true
0 5 10 15 20 25 30
-1
0
1
(controller_mode[t]==0) and (AF_not_ok)
false
true
time
0 5 10 15 20 25 30
-1
0
1
ev ((controller_mode[t]==0) and (AF_not_ok))
false
true
Binary results
Limited information
10
Example of Verdict
!10
SOLOIST-ZOT
True/False
No violation information
11
Example of Verdict
!11
RV-Monitor
User-defined error messages
No systematic guidance for
trace diagnostics
Understanding a Verdict
!12
Property:

(when it evaluates to false)
“it is always the case that
if event A occurs then it
should stimulate, within 5
time units, the sequential
occurrence of events B
followed, within 2 time
units, by C”
Understanding a Verdict
!13
Property:

(when it evaluates to false)
“it is always the case that
if event A occurs then it
should stimulate, within 5
time units, the sequential
occurrence of events B
followed, within 2 time
units, by C”
Reason for violation:

1) at least an occurrence of
A not followed by B-C
Understanding a Verdict
!14
Property:

(when it evaluates to false)
“it is always the case that
if event A occurs then it
should stimulate, within 5
time units, the sequential
occurrence of events B
followed, within 2 time
units, by C”
Reason for violation:

2) at least an occurrence of
A that is followed by B-C
but B occurs after more
than 5 time units since the
last occurrence of A
Understanding a Verdict
!15
Property:

(when it evaluates to false)
“it is always the case that
if event A occurs then it
should stimulate, within 5
time units, the sequential
occurrence of events B
followed, within 2 time
units, by C”
Reason for violation:

3) at least an occurrence of
A that is followed by B-C
but C occurs after more
than 2 time units since the
occurrence of B
Understanding a Verdict
Reasons for violations
1) at least an occurrence of A not
followed by B-C
2) at least an occurrence of A that is
followed by B-C but B occurs after
more than 5 time units since the last
occurrence of A
3) at least an occurrence of A that is
followed by B-C but C occurs after
more than 2 time units since the
occurrence of B
!16
Property:

(when it evaluates to false)
“it is always the case that
if event A occurs then it
should stimulate, within 5
time units, the sequential
occurrence of events B
followed, within 2 time
units, by C”
A boolean verdict is not enough
for trace diagnostics!
Project Context
Centre des Technologies de l'Information de l'Etat
CTIE
!19
Model-driven Engineering
at CTIE
!20
Level%1
1b.%Function%Tree
A"Function"Tree"
provides"a"structured"
inventory"of"all"activities,"
as"well"as"a"view"of"
Credit: Centre des Technologies de l'Information de l'Etat
Collaborative Project Topics
• Problem: Compliance of business processes with respect to
their specifications
• Technique: Run-time verification - trace checking
!21
Requirements of the solution (1)
• To be viable in the long term, any solution shall rely on standard MDE
technology (tools implementing OMG specifications)
• Why?
• our industrial partner has adopted MDE in practice
• requires any software solution added to the development process to
adhere to OMG specifications and rely on the corresponding tools
• It can be generalized to other contexts in which solutions have to be
engineered by using standard MDE technologies
!22
Requirements of the solution (2)
• Any solution shall:
• scale linearly with respect to the length of the trace
• complete within practical time limits
• e.g., a trace with millions of events should be processed within
seconds
• to enable real-time log analysis, to promptly detect violations
!23
Model-driven Trace Checking of
Pattern-based Temporal Properties
!24
Eclipse OCL
Trace
Properties
to check
Trace
Instance
Properties
Instances
OCL Constraints
on Trace Class
TemPsy-Check
MODELS 2017
Model-driven Trace Checking of
Pattern-based Temporal Properties
• TemPsy-Check supports
properties expressed in
TemPsy, a pattern-based
specification language
• Extended version of 

Dwyer et al.’s 

specification patterns
(SCOPE + PATTERN)
!25
TemPsy Example
!26
“Once a card request is approved, the applicant is notified
within three days; this notification has to occur before the
production of the card is started.”
(Before + Response)
!27
temporal R1:
before ICM.issueCard
ICM.notifyApproval responding at most 3*24*3600 tu
ICM.approveRequest
“Once a card request is approved, the applicant is notified
within three days; this notification has to occur before the
production of the card is started”
TemPsy Example
!28
temporal R1:
before ICM.issueCard
ICM.notifyApproval responding at most 3*24*3600 tu
ICM.approveRequest
“Once a card request is approved, the applicant is notified
within three days; this notification has to occur before the
production of the card is started”
TemPsy Example
The Trace Diagnostics Problem
for TemPsy-Check
• TemPsy-Check yields
boolean verdicts!
!29
Goal of this Work
• To develop a practical and scalable solution for the trace
diagnostics problem
• in the settings of model-driven trace checking
• for pattern-based temporal properties
!30
Three Ingredients for
Trace Diagnostics
!31
characterization of
property

violations
Credit: otogestoeber/Shutterstock Credit: charc-concepts.org/James Rofus
collection of
diagnostics
information
visualization of
diagnostics
information
Characterization of
TemPsy Violations
Eight Types of TemPsy Violations
• NSOC (No-Show OCurrence)
• UNOC (UNexpected OCcurrence)
• NSOR (No-Show ORder)
• WTO (Wrong Temporal Order)
• WTC (Wrong Temporal Chain)
• WTOC (Wrong Temporal Order and Chain)
• LVRI (Left Valid and Right Invalid)
• LIRV (Left Invalid and Right Valid)
!33
Universality
Absence
Response
Precedence
{
Existence
NSOC (No-Show OCcurrence)
!34
event b b b a b b b b b b
timestamp 5 15 20 30 35 40 45 50 60 80
eventually at least 2 a
UNOC (UNexpected OCcurrence)
!35
event a b b a b b a b b a
timestamp 5 15 20 30 35 40 45 50 60 80
eventually at most 2 a
NSOR (No-Show ORder)
!36
event c c c c c c b c a b
timestamp 5 15 20 30 35 40 45 50 60 80
a preceding b
WTO (Wrong Temporal Order)
!37
event b a b c a a a b c a
timestamp 5 15 20 40 42 43 45 50 58 80
a, b preceding at most 10 tu c
>10 tu
WTC (Wrong Temporal Chain)
!38
a, #at least 10 tu b preceding c
<10 tu
event b a b c a a a b c a
timestamp 5 15 20 40 42 43 45 50 58 80
Model-driven 

Trace Diagnostics

of TemPsy Properties
Model-driven Trace Diagnostics
!40
Eclipse OCL
Trace
TemPsy
Properties
Trace
Instance
TemPsyExpression
Instances
OCL Queries
on Trace Class
TemPsy-Report
Trace Meta-Model
!41
Trace TraceElement
event: String
timestamp: Integer
*
properties:
Elist<TemPsyExpression>
traceElements
Simplified Template of
OCL Queries
let subtraces:Sequence(Tuple(begin:Integer, end:Integer)) = applyScope*S*(scope)
in subtraces->iterates(subtrace:Tuple((begin:Integer, end:Integer));
result:Sequence(Tuple((begin:Integer, end:Integer, violations:OclAny)))
= Sequence{} |
let v:OclAny = reportPattern*P*(subtrace, pattern) in
if v->notEmpty() then
result->append(Tuple{
begin:Integer = subtrace.begin,
end:Integer = subtrace.end,
violations:OclAny = v})
else result endif)
!42
compute sub-traces
based on scope
collect diagnostics
based on pattern
save diagnostics
information
reportPattern*P*
43
*P*
Universality
Existence
Absence
Response
Precedence{
Algorithm 1: reportPatternUniversality
Input: begin, end: the boundaries of a sub-trace;
pattern: an instance of the universality pattern
of the form “always E”
Output: result: a list of locations at which violations
occur
1 E event name in pattern
2 result {}
3 for i begin to end do
4 if self.traceElements[i] 6= E then result.append(i)
5 return result
Existence. As shown in Table I, according to the number
of occurrences of the event specified in an existence pattern,
with r
event
(line 1
or “ex
to col
at line
thresho
or “ex
and th
a 2-tu
type.
Abs
specifi
E”, in
of eve
the tw
event a a a a a a b a a b
timestamp 5 10 25 30 35 40 45 50 60 80
“globally always a”
NSOC
!44
NSOC
TemPsy-Report
http://weidou.github.io/
TemPSy-Report/
!45
Visualization of 

Diagnostics Information
Requirements of a 

Trace Diagnostics Visualization Tool
• User-friendly navigation of traces
• Easy access to violations
• Support for understanding violations
!47
mark out the locations of violations as well
as the relevant data points and intervals
!48
Card.isReturned
ICM.notifyCardReturned
globally ICM.notifyCardReturned responding at most 24 tu Card.isReturned
Highlight the violated portion of
a TemPsy property
!49
Evaluation of the Scalability
of TemPsy-Report
Research Questions
RQ1) What is the relation between the execution time of
TemPsy-Report and the length (number of logged events) of a
trace?
RQ2) What is the relation between the execution time of
TemPsy-Report and the number of violations (with respect to a
property) contained in a trace?
!51
Experiment Results RQ1
Averageexecutiontime
3s
6s
9s
Trace length
100k 200k 300k 400k 500k 600k 700k 800k 900k 1000k
p1 p2 p3 p4 p5.nsor
p5.wto p6.nsor p6.wto p7.nsor p7.wto
p8.nsor p8.wto p9.nsor p9.wto p10.nsor
p10.wto p11.nsor p11.wto p12.nsor
!52
(fixed number of violations: 1000)
Scalability (trace length)
• TemPsy-Report scales
linearly with respect to the
trace length
• execution time ranges from
about 1.5s to 8.2s
!53
Averageexecutiontime
3s
6s
9s
Trace length
200k 400k 600k 800k 1000k
Experiment Results RQ2
Averageexecutiontime
3s
6s
9s
Number of violations
1k 2k 3k 4k 5k 6k 7k 8k 9k 10k
p1 p2 p3 p4 p5.nsor
p5.wto p6.nsor p6.wto p7.nsor p7.wto
p8.nsor p8.wto p9.nsor p9.wto p10.nsor
p10.wto p11.nsor p11.wto p12.nsor
!54
(fixed trace length: 1 million)
Scalability (# violations)
!55
Averageexecutiontime
3s
6s
9s
Number of violations
1k 2k 3k 4k 5k 6k 7k 8k 9k10k
• The number of violations
contained in a trace makes no
tangible impact on the execution
time of TemPsy-Report
• execution time ranges from
about 3.8s to 8.2s
Summing up
!57
.lusoftware verification & validation
VVS
Model-driven trace diagnostics 

for pattern-based 

temporal specifications
bianculli@svv.lu

More Related Content

What's hot

Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Lionel 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 Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel Briand
 
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...Lionel 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
 
Change Impact Analysis for Natural Language Requirements
Change Impact Analysis for Natural Language RequirementsChange Impact Analysis for Natural Language Requirements
Change Impact Analysis for Natural Language RequirementsLionel Briand
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsLionel Briand
 
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
 
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
 
A Machine-Learning Approach for Demarcating Requirements in Textual Specifica...
A Machine-Learning Approach for Demarcating Requirements in Textual Specifica...A Machine-Learning Approach for Demarcating Requirements in Textual Specifica...
A Machine-Learning Approach for Demarcating Requirements in Textual Specifica...Lionel Briand
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel 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
 
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
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Lionel Briand
 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Lionel Briand
 
Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Lionel 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 Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignAutomated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignLionel Briand
 

What's hot (20)

Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
Comparing Offline and Online Testing of Deep Neural Networks: An Autonomous C...
 
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
 
Change Impact Analysis for Natural Language Requirements
Change Impact Analysis for Natural Language RequirementsChange Impact Analysis for Natural Language Requirements
Change Impact Analysis for Natural Language Requirements
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
 
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...
 
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...
 
A Machine-Learning Approach for Demarcating Requirements in Textual Specifica...
A Machine-Learning Approach for Demarcating Requirements in Textual Specifica...A Machine-Learning Approach for Demarcating Requirements in Textual Specifica...
A Machine-Learning Approach for Demarcating Requirements in Textual Specifica...
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
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...
 
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
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
 
Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!
 
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 Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignAutomated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and Design
 
Spyglass dft
Spyglass dftSpyglass dft
Spyglass dft
 
Scan insertion
Scan insertionScan insertion
Scan insertion
 

Similar to Model-driven trace diagnostics for pattern-based temporal specifications

Mining Assumptions for Software Components using Machine Learning
Mining Assumptions for Software Components using Machine LearningMining Assumptions for Software Components using Machine Learning
Mining Assumptions for Software Components using Machine LearningLionel Briand
 
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Lionel Briand
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynoteShiva Nejati
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLLionel Briand
 
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
 
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Lionel Briand
 
System Testing of Timing Requirements based on Use Cases and Timed Automata
System Testing of Timing Requirements based on Use Cases and Timed AutomataSystem Testing of Timing Requirements based on Use Cases and Timed Automata
System Testing of Timing Requirements based on Use Cases and Timed AutomataLionel Briand
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote Shiva Nejati
 
Learning From the Past: Automated Rule Generation for CEP - DEBS 2014
Learning From the Past: Automated Rule Generation for CEP - DEBS 2014Learning From the Past: Automated Rule Generation for CEP - DEBS 2014
Learning From the Past: Automated Rule Generation for CEP - DEBS 2014Alessandro Margara
 
Incremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringIncremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringÁkos Horváth
 
Static analysis as means of improving code quality
Static analysis as means of improving code quality Static analysis as means of improving code quality
Static analysis as means of improving code quality Andrey Karpov
 
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Lionel Briand
 
The Power of Probabilistic Thinking (keynote talk at ASE 2016)
The Power of Probabilistic Thinking (keynote talk at ASE 2016)The Power of Probabilistic Thinking (keynote talk at ASE 2016)
The Power of Probabilistic Thinking (keynote talk at ASE 2016)David Rosenblum
 
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
 
Talk 2011-buet-perception-event
Talk 2011-buet-perception-eventTalk 2011-buet-perception-event
Talk 2011-buet-perception-eventMahfuzul Haque
 

Similar to Model-driven trace diagnostics for pattern-based temporal specifications (20)

Mining Assumptions for Software Components using Machine Learning
Mining Assumptions for Software Components using Machine LearningMining Assumptions for Software Components using Machine Learning
Mining Assumptions for Software Components using Machine Learning
 
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
 
overview.pdf
overview.pdfoverview.pdf
overview.pdf
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
 
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
 
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...
 
System Testing of Timing Requirements based on Use Cases and Timed Automata
System Testing of Timing Requirements based on Use Cases and Timed AutomataSystem Testing of Timing Requirements based on Use Cases and Timed Automata
System Testing of Timing Requirements based on Use Cases and Timed Automata
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote
 
Learning From the Past: Automated Rule Generation for CEP - DEBS 2014
Learning From the Past: Automated Rule Generation for CEP - DEBS 2014Learning From the Past: Automated Rule Generation for CEP - DEBS 2014
Learning From the Past: Automated Rule Generation for CEP - DEBS 2014
 
Qualificacao acd
Qualificacao acdQualificacao acd
Qualificacao acd
 
Incremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringIncremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software Engineering
 
Static analysis as means of improving code quality
Static analysis as means of improving code quality Static analysis as means of improving code quality
Static analysis as means of improving code quality
 
Design for Testability
Design for Testability Design for Testability
Design for Testability
 
Week6 testing-intro
Week6 testing-introWeek6 testing-intro
Week6 testing-intro
 
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
 
The Power of Probabilistic Thinking (keynote talk at ASE 2016)
The Power of Probabilistic Thinking (keynote talk at ASE 2016)The Power of Probabilistic Thinking (keynote talk at ASE 2016)
The Power of Probabilistic Thinking (keynote talk at ASE 2016)
 
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
 
Talk 2011-buet-perception-event
Talk 2011-buet-perception-eventTalk 2011-buet-perception-event
Talk 2011-buet-perception-event
 
Sva.pdf
Sva.pdfSva.pdf
Sva.pdf
 

More from 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
 

More from 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...
 

Recently uploaded

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 

Recently uploaded (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

Model-driven trace diagnostics for pattern-based temporal specifications

  • 1. .lusoftware verification & validation VVS Model-driven trace diagnostics 
 for pattern-based 
 temporal specifications Wei Dou, Domenico Bianculli, Lionel Briand SnT Centre - University of Luxembourg
  • 2. .lusoftware verification & validation VVS Model-driven trace diagnostics 
 for pattern-based 
 temporal specifications Wei Dou, Domenico Bianculli, Lionel Briand SnT Centre - University of Luxembourg
  • 4. Trace Checking !4 “An automatic procedure for evaluating a
 specification over a trace of
 recorded events produced by a system”
  • 5. Verification Verdict • A truth value from some truth domain stating whether the specification holds on the trace • It the verdict is false, a software engineer needs to diagnose the property violations found in the trace !5
  • 6. How useful is a verdict for trace diagnostics? !6
  • 7. 7 Example of Verdict !7 MarQ First violating trace element Incomplete information Textual output
  • 8. 8 Example of Verdict !8 MonPoly All violating trace elements Limited information Textual output
  • 9. 9 Example of Verdict !9 Breach Checking Simple Properties with Nominal Parameters We can plot the satisfaction function again to interpret the result. AFC_w_Specs.PlotRobustSat(AF_ev_not_ok2); 0 5 10 15 20 25 30 -1 0 1 controller_mode[t]==0 false true Quant. sat Bool. sat 0 5 10 15 20 25 30 -20 0 20 AF[t]- AFref[t] > 0.01*14.7 false true 0 5 10 15 20 25 30 -1 0 1 (controller_mode[t]==0) and (AF_not_ok) false true time 0 5 10 15 20 25 30 -1 0 1 ev ((controller_mode[t]==0) and (AF_not_ok)) false true Binary results Limited information
  • 11. 11 Example of Verdict !11 RV-Monitor User-defined error messages No systematic guidance for trace diagnostics
  • 12. Understanding a Verdict !12 Property:
 (when it evaluates to false) “it is always the case that if event A occurs then it should stimulate, within 5 time units, the sequential occurrence of events B followed, within 2 time units, by C”
  • 13. Understanding a Verdict !13 Property:
 (when it evaluates to false) “it is always the case that if event A occurs then it should stimulate, within 5 time units, the sequential occurrence of events B followed, within 2 time units, by C” Reason for violation:
 1) at least an occurrence of A not followed by B-C
  • 14. Understanding a Verdict !14 Property:
 (when it evaluates to false) “it is always the case that if event A occurs then it should stimulate, within 5 time units, the sequential occurrence of events B followed, within 2 time units, by C” Reason for violation:
 2) at least an occurrence of A that is followed by B-C but B occurs after more than 5 time units since the last occurrence of A
  • 15. Understanding a Verdict !15 Property:
 (when it evaluates to false) “it is always the case that if event A occurs then it should stimulate, within 5 time units, the sequential occurrence of events B followed, within 2 time units, by C” Reason for violation:
 3) at least an occurrence of A that is followed by B-C but C occurs after more than 2 time units since the occurrence of B
  • 16. Understanding a Verdict Reasons for violations 1) at least an occurrence of A not followed by B-C 2) at least an occurrence of A that is followed by B-C but B occurs after more than 5 time units since the last occurrence of A 3) at least an occurrence of A that is followed by B-C but C occurs after more than 2 time units since the occurrence of B !16 Property:
 (when it evaluates to false) “it is always the case that if event A occurs then it should stimulate, within 5 time units, the sequential occurrence of events B followed, within 2 time units, by C”
  • 17. A boolean verdict is not enough for trace diagnostics!
  • 19. Centre des Technologies de l'Information de l'Etat CTIE !19
  • 21. Collaborative Project Topics • Problem: Compliance of business processes with respect to their specifications • Technique: Run-time verification - trace checking !21
  • 22. Requirements of the solution (1) • To be viable in the long term, any solution shall rely on standard MDE technology (tools implementing OMG specifications) • Why? • our industrial partner has adopted MDE in practice • requires any software solution added to the development process to adhere to OMG specifications and rely on the corresponding tools • It can be generalized to other contexts in which solutions have to be engineered by using standard MDE technologies !22
  • 23. Requirements of the solution (2) • Any solution shall: • scale linearly with respect to the length of the trace • complete within practical time limits • e.g., a trace with millions of events should be processed within seconds • to enable real-time log analysis, to promptly detect violations !23
  • 24. Model-driven Trace Checking of Pattern-based Temporal Properties !24 Eclipse OCL Trace Properties to check Trace Instance Properties Instances OCL Constraints on Trace Class TemPsy-Check MODELS 2017
  • 25. Model-driven Trace Checking of Pattern-based Temporal Properties • TemPsy-Check supports properties expressed in TemPsy, a pattern-based specification language • Extended version of 
 Dwyer et al.’s 
 specification patterns (SCOPE + PATTERN) !25
  • 26. TemPsy Example !26 “Once a card request is approved, the applicant is notified within three days; this notification has to occur before the production of the card is started.” (Before + Response)
  • 27. !27 temporal R1: before ICM.issueCard ICM.notifyApproval responding at most 3*24*3600 tu ICM.approveRequest “Once a card request is approved, the applicant is notified within three days; this notification has to occur before the production of the card is started” TemPsy Example
  • 28. !28 temporal R1: before ICM.issueCard ICM.notifyApproval responding at most 3*24*3600 tu ICM.approveRequest “Once a card request is approved, the applicant is notified within three days; this notification has to occur before the production of the card is started” TemPsy Example
  • 29. The Trace Diagnostics Problem for TemPsy-Check • TemPsy-Check yields boolean verdicts! !29
  • 30. Goal of this Work • To develop a practical and scalable solution for the trace diagnostics problem • in the settings of model-driven trace checking • for pattern-based temporal properties !30
  • 31. Three Ingredients for Trace Diagnostics !31 characterization of property
 violations Credit: otogestoeber/Shutterstock Credit: charc-concepts.org/James Rofus collection of diagnostics information visualization of diagnostics information
  • 33. Eight Types of TemPsy Violations • NSOC (No-Show OCurrence) • UNOC (UNexpected OCcurrence) • NSOR (No-Show ORder) • WTO (Wrong Temporal Order) • WTC (Wrong Temporal Chain) • WTOC (Wrong Temporal Order and Chain) • LVRI (Left Valid and Right Invalid) • LIRV (Left Invalid and Right Valid) !33 Universality Absence Response Precedence { Existence
  • 34. NSOC (No-Show OCcurrence) !34 event b b b a b b b b b b timestamp 5 15 20 30 35 40 45 50 60 80 eventually at least 2 a
  • 35. UNOC (UNexpected OCcurrence) !35 event a b b a b b a b b a timestamp 5 15 20 30 35 40 45 50 60 80 eventually at most 2 a
  • 36. NSOR (No-Show ORder) !36 event c c c c c c b c a b timestamp 5 15 20 30 35 40 45 50 60 80 a preceding b
  • 37. WTO (Wrong Temporal Order) !37 event b a b c a a a b c a timestamp 5 15 20 40 42 43 45 50 58 80 a, b preceding at most 10 tu c >10 tu
  • 38. WTC (Wrong Temporal Chain) !38 a, #at least 10 tu b preceding c <10 tu event b a b c a a a b c a timestamp 5 15 20 40 42 43 45 50 58 80
  • 40. Model-driven Trace Diagnostics !40 Eclipse OCL Trace TemPsy Properties Trace Instance TemPsyExpression Instances OCL Queries on Trace Class TemPsy-Report
  • 41. Trace Meta-Model !41 Trace TraceElement event: String timestamp: Integer * properties: Elist<TemPsyExpression> traceElements
  • 42. Simplified Template of OCL Queries let subtraces:Sequence(Tuple(begin:Integer, end:Integer)) = applyScope*S*(scope) in subtraces->iterates(subtrace:Tuple((begin:Integer, end:Integer)); result:Sequence(Tuple((begin:Integer, end:Integer, violations:OclAny))) = Sequence{} | let v:OclAny = reportPattern*P*(subtrace, pattern) in if v->notEmpty() then result->append(Tuple{ begin:Integer = subtrace.begin, end:Integer = subtrace.end, violations:OclAny = v}) else result endif) !42 compute sub-traces based on scope collect diagnostics based on pattern save diagnostics information
  • 44. Algorithm 1: reportPatternUniversality Input: begin, end: the boundaries of a sub-trace; pattern: an instance of the universality pattern of the form “always E” Output: result: a list of locations at which violations occur 1 E event name in pattern 2 result {} 3 for i begin to end do 4 if self.traceElements[i] 6= E then result.append(i) 5 return result Existence. As shown in Table I, according to the number of occurrences of the event specified in an existence pattern, with r event (line 1 or “ex to col at line thresho or “ex and th a 2-tu type. Abs specifi E”, in of eve the tw event a a a a a a b a a b timestamp 5 10 25 30 35 40 45 50 60 80 “globally always a” NSOC !44 NSOC
  • 47. Requirements of a 
 Trace Diagnostics Visualization Tool • User-friendly navigation of traces • Easy access to violations • Support for understanding violations !47
  • 48. mark out the locations of violations as well as the relevant data points and intervals !48 Card.isReturned ICM.notifyCardReturned globally ICM.notifyCardReturned responding at most 24 tu Card.isReturned
  • 49. Highlight the violated portion of a TemPsy property !49
  • 50. Evaluation of the Scalability of TemPsy-Report
  • 51. Research Questions RQ1) What is the relation between the execution time of TemPsy-Report and the length (number of logged events) of a trace? RQ2) What is the relation between the execution time of TemPsy-Report and the number of violations (with respect to a property) contained in a trace? !51
  • 52. Experiment Results RQ1 Averageexecutiontime 3s 6s 9s Trace length 100k 200k 300k 400k 500k 600k 700k 800k 900k 1000k p1 p2 p3 p4 p5.nsor p5.wto p6.nsor p6.wto p7.nsor p7.wto p8.nsor p8.wto p9.nsor p9.wto p10.nsor p10.wto p11.nsor p11.wto p12.nsor !52 (fixed number of violations: 1000)
  • 53. Scalability (trace length) • TemPsy-Report scales linearly with respect to the trace length • execution time ranges from about 1.5s to 8.2s !53 Averageexecutiontime 3s 6s 9s Trace length 200k 400k 600k 800k 1000k
  • 54. Experiment Results RQ2 Averageexecutiontime 3s 6s 9s Number of violations 1k 2k 3k 4k 5k 6k 7k 8k 9k 10k p1 p2 p3 p4 p5.nsor p5.wto p6.nsor p6.wto p7.nsor p7.wto p8.nsor p8.wto p9.nsor p9.wto p10.nsor p10.wto p11.nsor p11.wto p12.nsor !54 (fixed trace length: 1 million)
  • 55. Scalability (# violations) !55 Averageexecutiontime 3s 6s 9s Number of violations 1k 2k 3k 4k 5k 6k 7k 8k 9k10k • The number of violations contained in a trace makes no tangible impact on the execution time of TemPsy-Report • execution time ranges from about 3.8s to 8.2s
  • 57. !57
  • 58. .lusoftware verification & validation VVS Model-driven trace diagnostics 
 for pattern-based 
 temporal specifications bianculli@svv.lu