SlideShare a Scribd company logo
Quick fix generation for DSMLs

      Ábel Hegedüs, Ákos Horváth, István Ráth, Moisés Castelo Branco*, Dániel Varró

                                Budapest University of Technology and Economics
                                           *University of Waterloo




    VL/HCC 2011
    Pittsburgh, 2011.09.19.

Budapest University of Technology and Economics
Department of Measurement and Information Systems
Source code editing and fixing errors
Visual Studio Smart Compile Auto Correction
Netbeans Editor Hints
Eclipse Quick Fix




                             2
Development support in programming languages
 Economy class                     Examples:
   o Syntax-highlighting,           Custom DSL
     lightweight validation
 Business class
   o Autocompletion,                Standard DSL (e.g. SQL)
     semantic validation
 First-class
   o Quick fixes, refactoring       Java, C#, PHP
                                    Eclipse-like IDEs


                                3
Development support in modeling languages
 Economy class             Examples:
   o Syntax-driven          Traditional DSM,
     editing                COTS modeling tools
 Business class
   o Validation             UML tools
                            Modern DSM
 First-class          Need for generic approach
   o Quick fixes,      for fix generation:
     refactoring       • Language-independent
                              ?
                       • Customisable
                       • Efficient
                        4
Domain Specific Modeling Languages
 Ubiquitous in software development
   o   Requirement specification
   o   System analysis and verification
   o   Code generation
   o   Business processes
   o   Standard DSMLs e.g.
        • Matlab Simulink
        • UML profiles
        • BPEL, BPMN
   o Custom DSMLs
 Sophisticated DSML
  development tools
   o Eclipse Modeling Framework
   o Microsoft DSL Tools
   o MetaEdit


                                          5
Domain-specific constraints
 Syntax-driven editing is not enough!
   o Design errors, company policies, best practices
 Additional inconsistency rules
   o Well-formedness constraints      Syntactically correct
   o Structural correctness                 process
Violates basic process
 modeling practices




                              6
Example: BPMN process validation
Standard                  How to fix these
Eclipse BPMN tool         inconsistencies?




                      7
Quick fix generation for DSMLs
 Requirements                         Graph patterns and
   o Domain-specific                    pattern matching
      • Inconsistency rules
      • Editing operations
   o Problem-specific
                                End event start of edge
 Output


 Essence of the approach                      Non-messaging event
   o Design Space Exploration                   receiving message




                                 8
Quick fix generation for DSMLs
 Requirements                           Graph patterns and
   o Domain-specific                      pattern matching
      • Inconsistency rules
      • Editing operations                     Graph
   o Problem-specific                      transformation
      • Input model
      • Violation context
 Output                                            Post

   o Sequence of applicable editing operations
   o Eliminate violations in the selected context   Pre
                                                           Quick fix
 Essence of the approach                Modify target of sequence edge
   o Design Space Exploration




                                   9
Design Space Exploration (DSE)
Application of a overview
  High-level syntax-
driven editing operation                Initial (inconsistent) model
                Operation                           Violations identified
                                                   by inconsistency rules
   Modified model




                                                 Termination condition:
 Violations fixed on Partially corrected         • number of solutions
  selected context                               • time limit
                            model
                                                 • depth


                                   10
Design Space Exploration (DSE)
 High-level overview
       Operation                      Initial (inconsistent) model
                                         Exploration guided by
      sequence =Operation                • heuristics
        quick fix                        • already visited states
    Modified model
Efficient application
of operations
• Graph
     Efficient
   Transformation
     backtracking of
                                                 Efficient solution
     operations
                                                 detection
                      Partially corrected        • violations evaluated
                             model                  incrementally


                                    11
Quick demonstration: BPMN quick fix




                 12
Presentation of quick fixes

                Sequence of
List of fixes                 Operation name   Context
                operations




                                      13
Case studies and evaluation
 Main evaluation criteria
  o „On-the-fly” generation of quick fixes
  o Representative set of
     • Inconsistency rules
     • Editing operations
     • Input models and violations
 Process size and complexity representative to
  typical BPMN processes and simpler DSML models
 Real-life processes from the financial domain
  o Centralized customer registering
  o Corporate procurement

                                14
Evaluation results
                                                         Logarithmic scale
        1st: 5ms            Total:
        2nd: 13ms           1 sec vs 160 sec részletek
                                          egyéb
                            1 sec vs 160 sec
        3rd: 271ms


                                                         Memory:
                                                         50-200 MB
                                                         Visited states:
                                                         50-40000




 „On-the-fly” quick fix generation works in many cases
 Finding multiple solutions can increase runtime significantly



                                    15
Evaluation results
 Identified significant factors
  o Number of local violations
  o Operation complexity
  o Solution density
 Usable during editing for fixing local errors
  o 12 inconsistency rules
  o 16 editing operations (create,modify,delete)
  o 1-3 local violation, at most 2 step fix




                             16
Future work
 Knowledgebase-driven DSE
  o User-aided fix generation
  o Learn applied fixes for future use
     • Store quick fix as a special editing operation
 Improved search strategy
  o Partial order reduction
  o Better heuristics
 Resumable search
 Streamlined integration with EMF tools
  o Ease adaptation to third-party software
                                  17
Summary
 Novel approach
   o for an important language engineering problem
   o applicable to graph-based modeling languages
 Problem formalized and solved efficiently
   o using graph transformations, incremental pattern matching
     and design space exploration
 Prototype implementation
   o Evaluated on BPMN
   o Also presented at the Demo session (tonight)

 We would like to thank the Bank of the Northeast of Brazil (Banco
  do Nordeste – BNB) for providing the case studies.
                         Thank you!
                                             Contact: hegedusa@mit.bme.hu
                                  18
References
      VIATRA2 Model                  EMF IncQuery
Transformation Framework
    viatra.inf.mit.bme.hu      viatra.inf.mit.bme.hu/incquery


                    Fault Tolerant Systems Research Group
                 Budapest University of Technology and Economics
                                 inf.mit.bme.hu

                    Generative Software Development Lab
                             University of Waterloo
                               gsd.uwaterloo.ca

More Related Content

What's hot

Vaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference SpeechVaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference SpeechVaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Vaidyanathan Ramalingam Software Testing Eco System Conference Speech
Vaidyanathan Ramalingam Software Testing Eco System Conference SpeechVaidyanathan Ramalingam Software Testing Eco System Conference Speech
Vaidyanathan Ramalingam Software Testing Eco System Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Vaidyanathan Ramalingam Rca In Testing Conference Speech
Vaidyanathan Ramalingam Rca In Testing Conference SpeechVaidyanathan Ramalingam Rca In Testing Conference Speech
Vaidyanathan Ramalingam Rca In Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Vaidyanathan Ramalingam Rca In Agile Conference Speech
Vaidyanathan Ramalingam Rca In Agile Conference SpeechVaidyanathan Ramalingam Rca In Agile Conference Speech
Vaidyanathan Ramalingam Rca In Agile Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Vaidyanathan Ramalingam Testing Checklist Conference Speech
Vaidyanathan Ramalingam Testing Checklist Conference SpeechVaidyanathan Ramalingam Testing Checklist Conference Speech
Vaidyanathan Ramalingam Testing Checklist Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Vaidyanathan Ramalingam Agile Testing Conference Speech
Vaidyanathan Ramalingam Agile Testing Conference SpeechVaidyanathan Ramalingam Agile Testing Conference Speech
Vaidyanathan Ramalingam Agile Testing Conference Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Vaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 Speech
Vaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 SpeechVaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 Speech
Vaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 Speech
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Software+struc+doc
Software+struc+docSoftware+struc+doc
Software+struc+docG.C Reddy
 
Dfr Presentation
Dfr   PresentationDfr   Presentation
Dfr Presentationeraz
 
Manual Testing Notes
Manual Testing NotesManual Testing Notes
Manual Testing Notes
guest208aa1
 

What's hot (11)

Vaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference SpeechVaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
 
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference SpeechVaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
 
Vaidyanathan Ramalingam Software Testing Eco System Conference Speech
Vaidyanathan Ramalingam Software Testing Eco System Conference SpeechVaidyanathan Ramalingam Software Testing Eco System Conference Speech
Vaidyanathan Ramalingam Software Testing Eco System Conference Speech
 
Vaidyanathan Ramalingam Rca In Testing Conference Speech
Vaidyanathan Ramalingam Rca In Testing Conference SpeechVaidyanathan Ramalingam Rca In Testing Conference Speech
Vaidyanathan Ramalingam Rca In Testing Conference Speech
 
Vaidyanathan Ramalingam Rca In Agile Conference Speech
Vaidyanathan Ramalingam Rca In Agile Conference SpeechVaidyanathan Ramalingam Rca In Agile Conference Speech
Vaidyanathan Ramalingam Rca In Agile Conference Speech
 
Vaidyanathan Ramalingam Testing Checklist Conference Speech
Vaidyanathan Ramalingam Testing Checklist Conference SpeechVaidyanathan Ramalingam Testing Checklist Conference Speech
Vaidyanathan Ramalingam Testing Checklist Conference Speech
 
Vaidyanathan Ramalingam Agile Testing Conference Speech
Vaidyanathan Ramalingam Agile Testing Conference SpeechVaidyanathan Ramalingam Agile Testing Conference Speech
Vaidyanathan Ramalingam Agile Testing Conference Speech
 
Vaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 Speech
Vaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 SpeechVaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 Speech
Vaidyanathan Ramalingam Silicon India Testing Conference 2 July2011 Speech
 
Software+struc+doc
Software+struc+docSoftware+struc+doc
Software+struc+doc
 
Dfr Presentation
Dfr   PresentationDfr   Presentation
Dfr Presentation
 
Manual Testing Notes
Manual Testing NotesManual Testing Notes
Manual Testing Notes
 

Similar to Quick fix generation for DSMLs

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
Lionel Briand
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
melbats
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
PostSharp Technologies
 
Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï Tool
Gwendal Daniel
 
Measuring Your Code
Measuring Your CodeMeasuring Your Code
Measuring Your Code
Nate Abele
 
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
Lionel Briand
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
Ákos Horváth
 
Database Refactoring
Database RefactoringDatabase Refactoring
Database Refactoring
Anton Keks
 
FEA_basics.pdf
FEA_basics.pdfFEA_basics.pdf
FEA_basics.pdf
CMR University
 
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
 
Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Ori...
Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Ori...Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Ori...
Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Ori...
Raffi Khatchadourian
 
Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Model-driven framework for Guided Design Space Exploration presented at ASE 2011Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Ábel Hegedüs
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
Devnology
 
Use Case: Apollo Group at Oracle Open World
Use Case: Apollo Group at Oracle Open WorldUse Case: Apollo Group at Oracle Open World
Use Case: Apollo Group at Oracle Open World
MongoDB
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
lbergmans
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet code
lbergmans
 
Mixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting exampleMixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting example
corehard_by
 
Stochastic Optimization: Solvers and Tools
Stochastic Optimization: Solvers and ToolsStochastic Optimization: Solvers and Tools
Stochastic Optimization: Solvers and Tools
SSA KPI
 
Compeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptxCompeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptx
San Kim
 

Similar to Quick fix generation for DSMLs (20)

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
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 
Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï Tool
 
Measuring Your Code
Measuring Your CodeMeasuring Your Code
Measuring Your Code
 
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
 
ASE06.ppt
ASE06.pptASE06.ppt
ASE06.ppt
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
 
Database Refactoring
Database RefactoringDatabase Refactoring
Database Refactoring
 
FEA_basics.pdf
FEA_basics.pdfFEA_basics.pdf
FEA_basics.pdf
 
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
 
Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Ori...
Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Ori...Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Ori...
Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Ori...
 
Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Model-driven framework for Guided Design Space Exploration presented at ASE 2011Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Model-driven framework for Guided Design Space Exploration presented at ASE 2011
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
Use Case: Apollo Group at Oracle Open World
Use Case: Apollo Group at Oracle Open WorldUse Case: Apollo Group at Oracle Open World
Use Case: Apollo Group at Oracle Open World
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet code
 
Mixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting exampleMixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting example
 
Stochastic Optimization: Solvers and Tools
Stochastic Optimization: Solvers and ToolsStochastic Optimization: Solvers and Tools
Stochastic Optimization: Solvers and Tools
 
Compeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptxCompeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptx
 

More from Ábel Hegedüs

Patching the gap in collaborating on models
Patching the gap in collaborating on modelsPatching the gap in collaborating on models
Patching the gap in collaborating on models
Ábel Hegedüs
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Ábel Hegedüs
 
VIATRA 3: A Reactive Model Transformation Platform
VIATRA 3: A Reactive Model Transformation PlatformVIATRA 3: A Reactive Model Transformation Platform
VIATRA 3: A Reactive Model Transformation Platform
Ábel Hegedüs
 
Query-driven soft interconnection of EMF models
Query-driven soft interconnection of EMF modelsQuery-driven soft interconnection of EMF models
Query-driven soft interconnection of EMF models
Ábel Hegedüs
 
Guided Trajectory Exploration of GT systems presented at PNGT 2010
Guided Trajectory Exploration of GT systems presented at PNGT 2010Guided Trajectory Exploration of GT systems presented at PNGT 2010
Guided Trajectory Exploration of GT systems presented at PNGT 2010
Ábel Hegedüs
 
Back-annotation of Simulation Traces with Change-Driven Model Transformations
Back-annotation of Simulation Traces with Change-Driven Model TransformationsBack-annotation of Simulation Traces with Change-Driven Model Transformations
Back-annotation of Simulation Traces with Change-Driven Model Transformations
Ábel Hegedüs
 

More from Ábel Hegedüs (6)

Patching the gap in collaborating on models
Patching the gap in collaborating on modelsPatching the gap in collaborating on models
Patching the gap in collaborating on models
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
 
VIATRA 3: A Reactive Model Transformation Platform
VIATRA 3: A Reactive Model Transformation PlatformVIATRA 3: A Reactive Model Transformation Platform
VIATRA 3: A Reactive Model Transformation Platform
 
Query-driven soft interconnection of EMF models
Query-driven soft interconnection of EMF modelsQuery-driven soft interconnection of EMF models
Query-driven soft interconnection of EMF models
 
Guided Trajectory Exploration of GT systems presented at PNGT 2010
Guided Trajectory Exploration of GT systems presented at PNGT 2010Guided Trajectory Exploration of GT systems presented at PNGT 2010
Guided Trajectory Exploration of GT systems presented at PNGT 2010
 
Back-annotation of Simulation Traces with Change-Driven Model Transformations
Back-annotation of Simulation Traces with Change-Driven Model TransformationsBack-annotation of Simulation Traces with Change-Driven Model Transformations
Back-annotation of Simulation Traces with Change-Driven Model Transformations
 

Recently uploaded

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Quick fix generation for DSMLs

  • 1. Quick fix generation for DSMLs Ábel Hegedüs, Ákos Horváth, István Ráth, Moisés Castelo Branco*, Dániel Varró Budapest University of Technology and Economics *University of Waterloo VL/HCC 2011 Pittsburgh, 2011.09.19. Budapest University of Technology and Economics Department of Measurement and Information Systems
  • 2. Source code editing and fixing errors Visual Studio Smart Compile Auto Correction Netbeans Editor Hints Eclipse Quick Fix 2
  • 3. Development support in programming languages  Economy class Examples: o Syntax-highlighting, Custom DSL lightweight validation  Business class o Autocompletion, Standard DSL (e.g. SQL) semantic validation  First-class o Quick fixes, refactoring Java, C#, PHP Eclipse-like IDEs 3
  • 4. Development support in modeling languages  Economy class Examples: o Syntax-driven Traditional DSM, editing COTS modeling tools  Business class o Validation UML tools Modern DSM  First-class Need for generic approach o Quick fixes, for fix generation: refactoring • Language-independent ? • Customisable • Efficient 4
  • 5. Domain Specific Modeling Languages  Ubiquitous in software development o Requirement specification o System analysis and verification o Code generation o Business processes o Standard DSMLs e.g. • Matlab Simulink • UML profiles • BPEL, BPMN o Custom DSMLs  Sophisticated DSML development tools o Eclipse Modeling Framework o Microsoft DSL Tools o MetaEdit 5
  • 6. Domain-specific constraints  Syntax-driven editing is not enough! o Design errors, company policies, best practices  Additional inconsistency rules o Well-formedness constraints Syntactically correct o Structural correctness process Violates basic process modeling practices 6
  • 7. Example: BPMN process validation Standard How to fix these Eclipse BPMN tool inconsistencies? 7
  • 8. Quick fix generation for DSMLs  Requirements Graph patterns and o Domain-specific pattern matching • Inconsistency rules • Editing operations o Problem-specific End event start of edge  Output  Essence of the approach Non-messaging event o Design Space Exploration receiving message 8
  • 9. Quick fix generation for DSMLs  Requirements Graph patterns and o Domain-specific pattern matching • Inconsistency rules • Editing operations Graph o Problem-specific transformation • Input model • Violation context  Output Post o Sequence of applicable editing operations o Eliminate violations in the selected context Pre Quick fix  Essence of the approach Modify target of sequence edge o Design Space Exploration 9
  • 10. Design Space Exploration (DSE) Application of a overview High-level syntax- driven editing operation Initial (inconsistent) model Operation Violations identified by inconsistency rules Modified model Termination condition: Violations fixed on Partially corrected • number of solutions selected context • time limit model • depth 10
  • 11. Design Space Exploration (DSE)  High-level overview Operation Initial (inconsistent) model Exploration guided by sequence =Operation • heuristics quick fix • already visited states Modified model Efficient application of operations • Graph Efficient Transformation backtracking of Efficient solution operations detection Partially corrected • violations evaluated model incrementally 11
  • 13. Presentation of quick fixes Sequence of List of fixes Operation name Context operations 13
  • 14. Case studies and evaluation  Main evaluation criteria o „On-the-fly” generation of quick fixes o Representative set of • Inconsistency rules • Editing operations • Input models and violations  Process size and complexity representative to typical BPMN processes and simpler DSML models  Real-life processes from the financial domain o Centralized customer registering o Corporate procurement 14
  • 15. Evaluation results Logarithmic scale 1st: 5ms Total: 2nd: 13ms 1 sec vs 160 sec részletek egyéb 1 sec vs 160 sec 3rd: 271ms Memory: 50-200 MB Visited states: 50-40000  „On-the-fly” quick fix generation works in many cases  Finding multiple solutions can increase runtime significantly 15
  • 16. Evaluation results  Identified significant factors o Number of local violations o Operation complexity o Solution density  Usable during editing for fixing local errors o 12 inconsistency rules o 16 editing operations (create,modify,delete) o 1-3 local violation, at most 2 step fix 16
  • 17. Future work  Knowledgebase-driven DSE o User-aided fix generation o Learn applied fixes for future use • Store quick fix as a special editing operation  Improved search strategy o Partial order reduction o Better heuristics  Resumable search  Streamlined integration with EMF tools o Ease adaptation to third-party software 17
  • 18. Summary  Novel approach o for an important language engineering problem o applicable to graph-based modeling languages  Problem formalized and solved efficiently o using graph transformations, incremental pattern matching and design space exploration  Prototype implementation o Evaluated on BPMN o Also presented at the Demo session (tonight)  We would like to thank the Bank of the Northeast of Brazil (Banco do Nordeste – BNB) for providing the case studies. Thank you! Contact: hegedusa@mit.bme.hu 18
  • 19. References VIATRA2 Model EMF IncQuery Transformation Framework viatra.inf.mit.bme.hu viatra.inf.mit.bme.hu/incquery Fault Tolerant Systems Research Group Budapest University of Technology and Economics inf.mit.bme.hu Generative Software Development Lab University of Waterloo gsd.uwaterloo.ca

Editor's Notes

  1. The possibility of correctingcommonerrorsduringprogrammingusingbuilt-insuggestions is availableinmanypopularintegrateddevelopmentenvironments. Whilethename of thefeaturemight be different, suchasAutoCorrectionin Visual Studio, Editor hints inNetbeansor Quick fixes inEclipse, theessence is thesame. A givenerror is fixed byoneor more modificationsinthesourcecodeatthelocation of theerrororelsewhereintheapplication.Whatotherkind of assistance is providedbydevelopmentenvironmentsnowadays?
  2. Usingtravelclassesfordifferentiatingbetweentools, economyclasssupportincludessyntaxhighlightingbasedonthelanguagegrammar and lightweightvalidation. This is as far as most customlanguages go. Onthe business class, autocompletionmay be availableforsuggestingkeywordsorfunctionsatthecurrenteditinglocation. Finally, first-classtoolssuchasEclipse and Visual Studioprovidequick fixes and refactoringfacilitiesforusers.Let’s usethesameclassificationformodelingtools!
  3. Most traditionalmodelinglanguagessupportsyntax-drivenediting, wheremodelsaremanipulatedthrough a set of definedoperationsthatpreservethesyntax-correctnessofthemodelthroughtheeditingprocess. Modern languages and many UML modelingtoolsincludevalidationsupport, allowingtheusertodefine a set of constraintsorrulesthatthemodelshouldsatisfy. However, a modelingtoolthatcould fit inthefirst-class is a veryraresightindeed.Althoughthequick fix and refactoringfeaturesarewidelyappliedingeneral-purposeprogramminglanguages, modelingtoolslackthesamelevel of developmentsupport. Thusthere is a needforagenericapproachforquick fix generation, that is languageindependent and customisable, soit is applicableto most modelinglanguages and domainswhileit is overall efficienttoallow „on-the-fly” usage.Wefeelthistask isimportantduetotheprevalence of domain-specificmodelinglanguagesin software development.
  4. Just a fewexamplesfortheusage of theselanguagesare ... Business ProcessExecutionLanguageBusiness ProcessModel and Notation, BPMN, is a motivatingexampleweusedforpresentingourapproacheventhoughit is applicabletoanygraph-based DSML.The development and usage of DSMLsaresupportedbysophisticateddevelopmenttools, suchastheEclipsemodelingframework, ... Thebuilt-intools of theseframeworksprovidesyntax-driveneditingforcreatingmodels, however, that is oftennotenough.
  5. Foreveryself-respectingmodelinglanguage, therearemany design errorstoavoid, companypoliciestokeep and bestpracticestofollow. Todescribethese, additionalinconsistencyrulesareintroduced. Theserulescan be, forexample, well-formednessconstraintsorstructuralcorrectnessrules.Thissmall BPMN exampleprocess is syntacticallycorrect, butviolates ... practicesbymissing end states, and including an infiniteloop and incorrectlypairedgateways. Somebasicinconsistencyrulesfor BPMN arealreadyincorporatedinthe standard and (slide) aresupportedbythe standard Eclipse BPMN tool.
  6. Asshown here with an example BPMN process. The toolstoresprocessmodelsusing EMF, whichinturnallowsustomanipulatethesemodelsthroughthegenerictools of EMF.Whilethe BPMN toolidentifieserrors, violations, it DOES NOT provide a resolutionmethodfor fixing them, theuser mustcorrectthembytryingdifferentmodificationsonthemodel. Itwould be a greatdevelopmenthelpifthesomeonewouldsuggestwaystocorrecterrors.But, inordertooffersuchhelp, wehavetofirstformalizethequick fix generationproblem a bit more precisely.
  7. Therequirementsorinputs of ourquick fix generationapproacharedividedintodomain and problem-specificparts.(deklarativ formalizmus megkeresendő modelrészekre)asgraphpatterns, which is a declarativeformalismfordescribingmodelpartsto be queriedonthemodel, theusedpatternlanguage has an expressivepowerclosetotheObjectConstraintLanguage, and can be efficientlyevaluatedusingpatternmatchingtechniques.
  8. Basedononlythedefinition of thelanguage, themodelscan be changedinmanydifferentways, howeverit is bettertocapitalizeonthefactthatsyntax-driveneditingoperationsareavailablein most cases. inourapproach, thesearecapturedusinggraphtransformationrules. The operationscan be arbitrarilycomplex, includingdeletion and creation of modelelements. As a result, regularfinitedomainconstraintlogicprogramming and SAT approachesare less usable, thus an othertype of solutionmethod is required.problem-specificpartsarethe input modelcontainingtheviolations, and a so-calledviolationcontextthatincludesaset of modelelementsorviolationsselectedbytheuserforcorrection.wealsoneedtospecifywhatwearetryingtogenerate. inourdefinition a quick fix is a sequence of..., onceapplied, theviolationsintheselectedcontextareeliminatedfromtheresultingmodel.for more detailsontheseconcepts, pleaserefertoourpaper.essence... , is DSE, which is theevaluation of design alternativesbasedonvariouscriteriatofindsatisfactorysolutions.involvessearchingthroughthestatespace of the input model.
  9. A stepintheexploration is theapplication of a syntax-driveneditingoperationonthemodel
  10. heuristicsbasedonviolationcontexts, operationapplicability and applicationcontextinanygivenstatewehavetoknowexactlythemodelelementsthatviolateinconsistencyrules and be ableto update thisinformationincrementallyduringtheexploration.application, backtrackingLet’s seehowwecanpluginthequick fix generationto BPMN as a demonstration!detection: minden állapotban pontosan tudjuk, hogy mi az inconsistency szabályokat sértő és nem sértő modellelemek halmazaa bejárás során incrementálisan történik
  11. it is importanttostressthefact, thatthe standard tooldoesn’t haveanyresolutionmethodfortheseviolations. instead, weuseourquick fix generationapproachtosuggestcorrections. MÉG JOBBAN KIEMELNI, HOGY EZT MI csináltuk
  12. our main criteriafortheevaluation is tocheckwhetherthequick fixes can be generated „on-the-fly” withoutinterruptingtheeditingprocess. szóban: mekkora a modell kb. 20-50 BPMN elemet tartalmaznak
  13. kicsit részletezni a faktorokat:- local violationincreasesthedepth of thesearchtreeasusually more operationsarerequiredtoeliminatethem.- operationcomplexityaffectsthetraversalspeed, application and backtracking of operationswithmultiplemodelmanipulationsareslowerthansimplemodifications.iftherearemanywaysto fix theselectedviolations, it is easiertofindatleast a part of themin a timelyfashionfromtheresults, weconcludedthatourapproach is...
  14. asourfutureresearchdirections, weareworkingtowards ... bydoing more thanjustselectingtheviolationcontext and instead, interactivelyparticipatingintheexploration.
  15. skála: imperatív nyelv -> customvalidation van, quick fix egyre inkább nincs, vagy nem is értelmezettnevek: quick fix, intellisense, repairaction
  16. skála: imperatív nyelv -> customvalidation van, quick fix egyre inkább nincs, vagy nem is értelmezettnevek: quick fix, intellisense, repairaction
  17. skála: imperatív nyelv -> custom, validation van, quick fix egyre inkább nincs, vagy nem is értelmezettcan be generatedfrommetamodelusing GMF, Xtext, Graphiti etc.support „syntax-drivenediting”editingoperationspreservesyntacticcorrectness