SlideShare a Scribd company logo
Effectively Automate and Enforce
Process Rules and Tasks
when Delivering Changes

                      Jan Wloka, Rutgers University
            Alexander Luchansky, Rutgers University
                    Barbara G. Ryder, Virginia Tech



            Joint work with Frank Tip, IBM Research
Delivery of Code Changes

 Changes in local code base are shared with team
 Two “horror” scenarios:
 1.Reported merge conflicts
     Responsible to merge conflicting parts manually
 2.Accepting changes results in failing tests
     Responsible to fix the failures in foreign code


                                                      2
Process-aware Tool Support
 Goal: Effective guidance for team’s development process

 IDE makes process rules and tasks explicit
   Enforce desired properties of development artifacts
   Guide developers/automate tasks to satisfy these properties




                                                                 3
Process-aware Tool Support
 Goal: Effective guidance for team’s development process

 IDE makes process rules and tasks explicit
   Enforce desired properties of development artifacts
   Guide developers/automate tasks to satisfy these properties

 Problem: Under-representation of program changes!
   No error prevention, e.g., “no compilation errors”
   No effective quality checks, e.g., “all tests pass”
   No process-level guidance, e.g, “bug fixes only in
   stabilization phasequot;

                                                                 3
Semantic Representation of Code
    Changes
      Program Source Code             Atomic Change Model   Program Behavior



AST :: original

                      P

           I                  C


           M                  M



AST :: edited

                      P

       I              C           C


       M          M       M   M




                                                                               4
Semantic Representation of Code
    Changes
      Program Source Code                 Atomic Change Model         Program Behavior



AST :: original
                                                                 AL
                      P

           I                  C                                  AL

           M                  M
                                             AC
                                      C
                                                                 CL
AST :: edited
                                           AM          AM
                      P               M            M
       I              C           C
                                             CM             CM
       M          M       M   M




                                                                                         4
Semantic Representation of Code
    Changes
      Program Source Code                 Atomic Change Model         Program Behavior



AST :: original
                                                                 AL
                      P                                                    call graph :: test1
           I                  C                                  AL

           M                  M
                                             AC
                                      C
                                                                 CL
AST :: edited                                                              call graph :: test2
                                           AM          AM
                      P               M            M
       I              C           C
                                             CM             CM
       M          M       M   M




                                                                                                 4
Semantic Representation of Code
    Changes
      Program Source Code                 Atomic Change Model                            Program Behavior



AST :: original
                                                                 AL
                      P                                                                       call graph :: test1
           I                  C                                  AL

           M                  M
                                             AC
                                      C
                                                                          Impact on
                                                                 CL   program behavior
AST :: edited                                                                                 call graph :: test2
                                           AM          AM
                      P               M            M
       I              C           C
                                             CM             CM
       M          M       M   M




                                                                                                                    4
Analysis-based Process Advisors

 Effective Process Rules for Change Delivery
   ‘Require Test Run to Cover All Changes’ or
   
      
 
 
 
 
 
 
 ‘... at Original Program Elements’
   ’Require Run Affected Tests’
   ’Require All Affected Tests Pass’




                                                             5
Analysis-based Process Advisors

 Effective Process Rules for Change Delivery
   ‘Require Test Run to Cover All Changes’ or
   
      
 
 
 
 
 
 
 ‘... at Original Program Elements’
   ’Require Run Affected Tests’
   ’Require All Affected Tests Pass’

 Stronger Guidance for Change Delivery
   'Allow Delivery of Non-behavioral Changes’
   ’Compute Set of Safely Deliverable Changes’
   ’Review Changed but Uncovered Program Elements’
   ’Generate Tests/Stubs for not Covered Changes’
                                                             5
Extending Jazz
“Extended Run Tests Operation”

  Original
  Program
                             Instrumented                 Call
                                            Run Tests
                                Original                 Graphs
                                            Operation
                               Program                  (Original)

   Edited    Pre-Run Tests                                           Post-Run Tests
  Program      Operation                                               Operation

                             Instrumented                 Call
                                            Run Tests
                                 Edited                 Graphs
                                            Operation
 Change-                       Program                  (Edited)
   set




                Atomic                                               Change Impact
             Change Model                                             Classification




                                                                                      6
Extending Jazz
“Extended Deliver Changes Operation”

                                                 No                      Edited
    Edited     Check Process          Rule            Change Delivery
                   Rules            Violations          Operation       Program
   Program
                                                                        Shared
                                           Yes



  Change-                           Corrective
    set                              Action



               Change Model +
             Impact Classification




                                                                                  7

More Related Content

Similar to Effectively Automate and Enforce Process Rules and Tasks when Delivering Changes

Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformationsIstvan Rath
 
Mutation testing
Mutation testingMutation testing
Mutation testingTao He
 
Qna L6 S Project Aa Cmp Oxide Range Reduction (Oct 08)
Qna L6 S Project Aa Cmp Oxide Range Reduction (Oct 08)Qna L6 S Project Aa Cmp Oxide Range Reduction (Oct 08)
Qna L6 S Project Aa Cmp Oxide Range Reduction (Oct 08)Norbert Gloser
 
UML profiles for Embedded Systems
UML profiles for Embedded SystemsUML profiles for Embedded Systems
UML profiles for Embedded Systemspboulet
 
EventStudio: Sequence Diagram Based System Modeling Tool
EventStudio: Sequence Diagram Based System Modeling ToolEventStudio: Sequence Diagram Based System Modeling Tool
EventStudio: Sequence Diagram Based System Modeling ToolEventHelix.com Inc.
 
DO-178C OOT supplement: A user's perspective
DO-178C OOT supplement: A user's perspectiveDO-178C OOT supplement: A user's perspective
DO-178C OOT supplement: A user's perspectiveAdaCore
 
20080501 software verification_sharygina_lecture01
20080501 software verification_sharygina_lecture0120080501 software verification_sharygina_lecture01
20080501 software verification_sharygina_lecture01Computer Science Club
 
18CS44-MES-Module-2(Chapter 6).pptx
18CS44-MES-Module-2(Chapter 6).pptx18CS44-MES-Module-2(Chapter 6).pptx
18CS44-MES-Module-2(Chapter 6).pptxrakshitha481121
 

Similar to Effectively Automate and Enforce Process Rules and Tasks when Delivering Changes (10)

Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformations
 
Mutation testing
Mutation testingMutation testing
Mutation testing
 
Qna L6 S Project Aa Cmp Oxide Range Reduction (Oct 08)
Qna L6 S Project Aa Cmp Oxide Range Reduction (Oct 08)Qna L6 S Project Aa Cmp Oxide Range Reduction (Oct 08)
Qna L6 S Project Aa Cmp Oxide Range Reduction (Oct 08)
 
UML profiles for Embedded Systems
UML profiles for Embedded SystemsUML profiles for Embedded Systems
UML profiles for Embedded Systems
 
EventStudio: Sequence Diagram Based System Modeling Tool
EventStudio: Sequence Diagram Based System Modeling ToolEventStudio: Sequence Diagram Based System Modeling Tool
EventStudio: Sequence Diagram Based System Modeling Tool
 
Model-Driven Software Verification
Model-Driven Software VerificationModel-Driven Software Verification
Model-Driven Software Verification
 
DO-178C OOT supplement: A user's perspective
DO-178C OOT supplement: A user's perspectiveDO-178C OOT supplement: A user's perspective
DO-178C OOT supplement: A user's perspective
 
20080501 software verification_sharygina_lecture01
20080501 software verification_sharygina_lecture0120080501 software verification_sharygina_lecture01
20080501 software verification_sharygina_lecture01
 
18CS44-MES-Module-2(Chapter 6).pptx
18CS44-MES-Module-2(Chapter 6).pptx18CS44-MES-Module-2(Chapter 6).pptx
18CS44-MES-Module-2(Chapter 6).pptx
 
de Valpine NIMBLE
de Valpine NIMBLEde Valpine NIMBLE
de Valpine NIMBLE
 

Recently uploaded

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
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 buttonDianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
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
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
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
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
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 LLMsPaul Groth
 
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 QualityInflectra
 
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.pdfCheryl Hung
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
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 ParametersSafe Software
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 

Recently uploaded (20)

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
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
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
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...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
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...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
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
 
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
 
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
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
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
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 

Effectively Automate and Enforce Process Rules and Tasks when Delivering Changes

  • 1. Effectively Automate and Enforce Process Rules and Tasks when Delivering Changes Jan Wloka, Rutgers University Alexander Luchansky, Rutgers University Barbara G. Ryder, Virginia Tech Joint work with Frank Tip, IBM Research
  • 2. Delivery of Code Changes Changes in local code base are shared with team Two “horror” scenarios: 1.Reported merge conflicts Responsible to merge conflicting parts manually 2.Accepting changes results in failing tests Responsible to fix the failures in foreign code 2
  • 3. Process-aware Tool Support Goal: Effective guidance for team’s development process IDE makes process rules and tasks explicit Enforce desired properties of development artifacts Guide developers/automate tasks to satisfy these properties 3
  • 4. Process-aware Tool Support Goal: Effective guidance for team’s development process IDE makes process rules and tasks explicit Enforce desired properties of development artifacts Guide developers/automate tasks to satisfy these properties Problem: Under-representation of program changes! No error prevention, e.g., “no compilation errors” No effective quality checks, e.g., “all tests pass” No process-level guidance, e.g, “bug fixes only in stabilization phasequot; 3
  • 5. Semantic Representation of Code Changes Program Source Code Atomic Change Model Program Behavior AST :: original P I C M M AST :: edited P I C C M M M M 4
  • 6. Semantic Representation of Code Changes Program Source Code Atomic Change Model Program Behavior AST :: original AL P I C AL M M AC C CL AST :: edited AM AM P M M I C C CM CM M M M M 4
  • 7. Semantic Representation of Code Changes Program Source Code Atomic Change Model Program Behavior AST :: original AL P call graph :: test1 I C AL M M AC C CL AST :: edited call graph :: test2 AM AM P M M I C C CM CM M M M M 4
  • 8. Semantic Representation of Code Changes Program Source Code Atomic Change Model Program Behavior AST :: original AL P call graph :: test1 I C AL M M AC C Impact on CL program behavior AST :: edited call graph :: test2 AM AM P M M I C C CM CM M M M M 4
  • 9. Analysis-based Process Advisors Effective Process Rules for Change Delivery ‘Require Test Run to Cover All Changes’ or ‘... at Original Program Elements’ ’Require Run Affected Tests’ ’Require All Affected Tests Pass’ 5
  • 10. Analysis-based Process Advisors Effective Process Rules for Change Delivery ‘Require Test Run to Cover All Changes’ or ‘... at Original Program Elements’ ’Require Run Affected Tests’ ’Require All Affected Tests Pass’ Stronger Guidance for Change Delivery 'Allow Delivery of Non-behavioral Changes’ ’Compute Set of Safely Deliverable Changes’ ’Review Changed but Uncovered Program Elements’ ’Generate Tests/Stubs for not Covered Changes’ 5
  • 11. Extending Jazz “Extended Run Tests Operation” Original Program Instrumented Call Run Tests Original Graphs Operation Program (Original) Edited Pre-Run Tests Post-Run Tests Program Operation Operation Instrumented Call Run Tests Edited Graphs Operation Change- Program (Edited) set Atomic Change Impact Change Model Classification 6
  • 12. Extending Jazz “Extended Deliver Changes Operation” No Edited Edited Check Process Rule Change Delivery Rules Violations Operation Program Program Shared Yes Change- Corrective set Action Change Model + Impact Classification 7