Submit Search
Upload
Renraku - The One Static Analysis Model to Rule Them All
•
0 likes
•
215 views
E
ESUG
Follow
Renraku - The One Static Analysis Model to Rule Them All IWST 2017
Read less
Read more
Software
Report
Share
Report
Share
1 of 39
Download now
Download to read offline
Recommended
Android testing
Android testing
Sean Tsai
Migrating to JUnit 5
Migrating to JUnit 5
Rafael Winterhalter
JavaZone 2014 - goto java;
JavaZone 2014 - goto java;
Martin (高馬丁) Skarsaune
goto java; (Jfokus)
goto java; (Jfokus)
Martin (高馬丁) Skarsaune
Android Unit Test
Android Unit Test
Phuoc Bui
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
Anna Shymchenko
GMock framework
GMock framework
corehard_by
Server1
Server1
FahriIrawan3
Recommended
Android testing
Android testing
Sean Tsai
Migrating to JUnit 5
Migrating to JUnit 5
Rafael Winterhalter
JavaZone 2014 - goto java;
JavaZone 2014 - goto java;
Martin (高馬丁) Skarsaune
goto java; (Jfokus)
goto java; (Jfokus)
Martin (高馬丁) Skarsaune
Android Unit Test
Android Unit Test
Phuoc Bui
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
Anna Shymchenko
GMock framework
GMock framework
corehard_by
Server1
Server1
FahriIrawan3
0box Analyzer--Afterdark Runtime Forensics for Automated Malware Analysis and...
0box Analyzer--Afterdark Runtime Forensics for Automated Malware Analysis and...
Wayne Huang
Mastering Mock Objects - Advanced Unit Testing for Java
Mastering Mock Objects - Advanced Unit Testing for Java
Denilson Nastacio
Byte code field report
Byte code field report
Rafael Winterhalter
JUnit 5
JUnit 5
Scott Leberknight
JUnit Pioneer
JUnit Pioneer
Scott Leberknight
Introduction to Software Testing
Introduction to Software Testing
Sergio Arroyo
JUnit & Mockito, first steps
JUnit & Mockito, first steps
Renato Primavera
201913046 wahyu septiansyah network programing
201913046 wahyu septiansyah network programing
wahyuseptiansyah
#codemotion2016: Everything you should know about testing to go with @pedro_g...
#codemotion2016: Everything you should know about testing to go with @pedro_g...
Sergio Arroyo
Some testing - Everything you should know about testing to go with @pedro_g_s...
Some testing - Everything you should know about testing to go with @pedro_g_s...
Sergio Arroyo
15 tips to improve your unit tests (Droidcon Berlin 2016 Barcamp)
15 tips to improve your unit tests (Droidcon Berlin 2016 Barcamp)
Danny Preussler
JUnit
JUnit
Li-Wei Cheng
An introduction to Google test framework
An introduction to Google test framework
Abner Chih Yi Huang
2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good Tests
Tomek Kaczanowski
33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests
Tomek Kaczanowski
More topics on Java
More topics on Java
Ahmed Misbah
Mockito intro
Mockito intro
Jonathan Holloway
Introduzione al TDD
Introduzione al TDD
Andrea Francia
Unit test-using-spock in Grails
Unit test-using-spock in Grails
NexThoughts Technologies
Mocking in Java with Mockito
Mocking in Java with Mockito
Richard Paul
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Elena Laskavaia
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
Rouven Weßling
More Related Content
What's hot
0box Analyzer--Afterdark Runtime Forensics for Automated Malware Analysis and...
0box Analyzer--Afterdark Runtime Forensics for Automated Malware Analysis and...
Wayne Huang
Mastering Mock Objects - Advanced Unit Testing for Java
Mastering Mock Objects - Advanced Unit Testing for Java
Denilson Nastacio
Byte code field report
Byte code field report
Rafael Winterhalter
JUnit 5
JUnit 5
Scott Leberknight
JUnit Pioneer
JUnit Pioneer
Scott Leberknight
Introduction to Software Testing
Introduction to Software Testing
Sergio Arroyo
JUnit & Mockito, first steps
JUnit & Mockito, first steps
Renato Primavera
201913046 wahyu septiansyah network programing
201913046 wahyu septiansyah network programing
wahyuseptiansyah
#codemotion2016: Everything you should know about testing to go with @pedro_g...
#codemotion2016: Everything you should know about testing to go with @pedro_g...
Sergio Arroyo
Some testing - Everything you should know about testing to go with @pedro_g_s...
Some testing - Everything you should know about testing to go with @pedro_g_s...
Sergio Arroyo
15 tips to improve your unit tests (Droidcon Berlin 2016 Barcamp)
15 tips to improve your unit tests (Droidcon Berlin 2016 Barcamp)
Danny Preussler
JUnit
JUnit
Li-Wei Cheng
An introduction to Google test framework
An introduction to Google test framework
Abner Chih Yi Huang
2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good Tests
Tomek Kaczanowski
33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests
Tomek Kaczanowski
More topics on Java
More topics on Java
Ahmed Misbah
Mockito intro
Mockito intro
Jonathan Holloway
Introduzione al TDD
Introduzione al TDD
Andrea Francia
Unit test-using-spock in Grails
Unit test-using-spock in Grails
NexThoughts Technologies
Mocking in Java with Mockito
Mocking in Java with Mockito
Richard Paul
What's hot
(20)
0box Analyzer--Afterdark Runtime Forensics for Automated Malware Analysis and...
0box Analyzer--Afterdark Runtime Forensics for Automated Malware Analysis and...
Mastering Mock Objects - Advanced Unit Testing for Java
Mastering Mock Objects - Advanced Unit Testing for Java
Byte code field report
Byte code field report
JUnit 5
JUnit 5
JUnit Pioneer
JUnit Pioneer
Introduction to Software Testing
Introduction to Software Testing
JUnit & Mockito, first steps
JUnit & Mockito, first steps
201913046 wahyu septiansyah network programing
201913046 wahyu septiansyah network programing
#codemotion2016: Everything you should know about testing to go with @pedro_g...
#codemotion2016: Everything you should know about testing to go with @pedro_g...
Some testing - Everything you should know about testing to go with @pedro_g_s...
Some testing - Everything you should know about testing to go with @pedro_g_s...
15 tips to improve your unit tests (Droidcon Berlin 2016 Barcamp)
15 tips to improve your unit tests (Droidcon Berlin 2016 Barcamp)
JUnit
JUnit
An introduction to Google test framework
An introduction to Google test framework
2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good Tests
33rd Degree 2013, Bad Tests, Good Tests
33rd Degree 2013, Bad Tests, Good Tests
More topics on Java
More topics on Java
Mockito intro
Mockito intro
Introduzione al TDD
Introduzione al TDD
Unit test-using-spock in Grails
Unit test-using-spock in Grails
Mocking in Java with Mockito
Mocking in Java with Mockito
Similar to Renraku - The One Static Analysis Model to Rule Them All
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Elena Laskavaia
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
Rouven Weßling
Workshop 23: ReactJS, React & Redux testing
Workshop 23: ReactJS, React & Redux testing
Visual Engineering
Grails unit testing
Grails unit testing
pleeps
Web UI test automation instruments
Web UI test automation instruments
Artem Nagornyi
Struts2 - 101
Struts2 - 101
Munish Gupta
Drd secr final1_3
Drd secr final1_3
Devexperts
Dynamic data race detection in concurrent Java programs
Dynamic data race detection in concurrent Java programs
Devexperts
Reactive, component 그리고 angular2
Reactive, component 그리고 angular2
Jeado Ko
LeakPair: Proactive Repairing of Leaks in Single Page Web Applications
LeakPair: Proactive Repairing of Leaks in Single Page Web Applications
Dongsun Kim
NNUG Certification Presentation
NNUG Certification Presentation
Niall Merrigan
Forensic Memory Analysis of Android's Dalvik Virtual Machine
Forensic Memory Analysis of Android's Dalvik Virtual Machine
Source Conference
Maf3 - Part 1
Maf3 - Part 1
Paolo Quadrani
Building Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture Components
Hassan Abid
Lambda Chops - Recipes for Simpler, More Expressive Code
Lambda Chops - Recipes for Simpler, More Expressive Code
Ian Robertson
Tame Accidental Complexity with Ruby and MongoMapper
Tame Accidental Complexity with Ruby and MongoMapper
Giordano Scalzo
Xp Day 080506 Unit Tests And Mocks
Xp Day 080506 Unit Tests And Mocks
guillaumecarre
Reducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code Analysis
Sebastiano Panichella
Java Performance Tuning
Java Performance Tuning
Minh Hoang
TDD and mock objects
TDD and mock objects
Steve Zhang
Similar to Renraku - The One Static Analysis Model to Rule Them All
(20)
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
Workshop 23: ReactJS, React & Redux testing
Workshop 23: ReactJS, React & Redux testing
Grails unit testing
Grails unit testing
Web UI test automation instruments
Web UI test automation instruments
Struts2 - 101
Struts2 - 101
Drd secr final1_3
Drd secr final1_3
Dynamic data race detection in concurrent Java programs
Dynamic data race detection in concurrent Java programs
Reactive, component 그리고 angular2
Reactive, component 그리고 angular2
LeakPair: Proactive Repairing of Leaks in Single Page Web Applications
LeakPair: Proactive Repairing of Leaks in Single Page Web Applications
NNUG Certification Presentation
NNUG Certification Presentation
Forensic Memory Analysis of Android's Dalvik Virtual Machine
Forensic Memory Analysis of Android's Dalvik Virtual Machine
Maf3 - Part 1
Maf3 - Part 1
Building Modern Apps using Android Architecture Components
Building Modern Apps using Android Architecture Components
Lambda Chops - Recipes for Simpler, More Expressive Code
Lambda Chops - Recipes for Simpler, More Expressive Code
Tame Accidental Complexity with Ruby and MongoMapper
Tame Accidental Complexity with Ruby and MongoMapper
Xp Day 080506 Unit Tests And Mocks
Xp Day 080506 Unit Tests And Mocks
Reducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code Analysis
Java Performance Tuning
Java Performance Tuning
TDD and mock objects
TDD and mock objects
More from ESUG
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
Technical documentation support in Pharo
Technical documentation support in Pharo
ESUG
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
Garbage Collector Tuning
Garbage Collector Tuning
ESUG
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
thisContext in the Debugger
thisContext in the Debugger
ESUG
Websockets for Fencing Score
Websockets for Fencing Score
ESUG
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
More from ESUG
(20)
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
Technical documentation support in Pharo
Technical documentation support in Pharo
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
Garbage Collector Tuning
Garbage Collector Tuning
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
thisContext in the Debugger
thisContext in the Debugger
Websockets for Fencing Score
Websockets for Fencing Score
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
Recently uploaded
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
gurkirankumar98700
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Ortus Solutions, Corp
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Christina Lin
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
VICTOR MAESTRE RAMIREZ
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
MyIntelliSource, Inc.
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
BradBedford3
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
AxelRicardoTrocheRiq
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
Evangelist Apps https://twitter.com/EvangelistSW/
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
OPEN KNOWLEDGE GmbH
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
bodapatigopi8531
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
kaushalgiri8080
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio, Inc.
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
Frank van der Linden
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Alberto González Trastoy
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Fatema Valibhai
What is Binary Language? Computer Number Systems
What is Binary Language? Computer Number Systems
JheuzeDellosa
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
Intelisync
DNT_Corporate presentation know about us
DNT_Corporate presentation know about us
Dynamic Netsoft
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
kalichargn70th171
Recently uploaded
(20)
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
What is Binary Language? Computer Number Systems
What is Binary Language? Computer Number Systems
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
DNT_Corporate presentation know about us
DNT_Corporate presentation know about us
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Renraku - The One Static Analysis Model to Rule Them All
1.
Renraku The One Static
Analysis Model to Rule Them All Yuriy Tymchuk SCG @ Unibe Mohammad Ghafari Oscar Nierstrasz
2.
SmallLint
3.
Refactoring Browser
4.
Maintenance Tools Have to
be Maintained
5.
Usage Contracts Hapao Code
BrowsingStack Traces
6.
SmallLint Tools Refactoring Browser
CriticBrowser
7.
Development Tools Code Browser
Versioning System Issue Tracker
8.
Issue Integration Smart Test Calypso Message
Browser Debugger RENRAKU
9.
Renraku Trinity Critique TargetRule of has by produces 11 0..*0..* validates
10.
Renraku UML Subset title() icon() Property act(property,
target) description icon action PropertyAction 0..* actions description() ban() tinyHint Critique checksClass() checksMethod() checksPackage() checksNode() name() rationale() group() severity() checkTarget(target) AbstractRule interval() SourceAnchor Object interval() StringMatchSourceAnchor stringToSearch interval() IntervalSourceAnchor interval checksNode() NodeBasedRule refactoryChange() TransformationCritique refactoryChange() tinyHint() selector class source MissingMethodCritique refactoryChange() oldNode newNode NodeReplace title() description() formerMessage laterMessage InvocationOrderCritique checkTarget(target) NodeMatchRule checkTarget(target) NodeTransformRule checksMethod() checkTarget(target) CollectionCopyEmptyRule sourceAnchor 1 entity 1 rule 1
11.
Renraku UML Subset title() icon() Property act(property,
target) description icon action PropertyAction 0..* actions description() ban() tinyHint Critique checksClass() checksMethod() checksPackage() checksNode() name() rationale() group() severity() checkTarget(target) AbstractRule interval() SourceAnchor Object interval() StringMatchSourceAnchor stringToSearch interval() IntervalSourceAnchor interval checksNode() NodeBasedRule refactoryChange() TransformationCritique refactoryChange() tinyHint() selector class source MissingMethodCritique refactoryChange() oldNode newNode NodeReplace title() description() formerMessage laterMessage InvocationOrderCritique checkTarget(target) NodeMatchRule checkTarget(target) NodeTransformRule checksMethod() checkTarget(target) CollectionCopyEmptyRule sourceAnchor 1 entity 1 rule 1
12.
The Rule checksPackage checksClass checksMethod checksNode Interest (class side) Information name severity rationale (class
comment) group Validation check: anEntity forCritiquesDo: aBlock
13.
Validation Example
14.
Match Rule Example
15.
Invocation Order Rule
Example
16.
Renraku UML Subset title() icon() Property act(property,
target) description icon action PropertyAction 0..* actions description() ban() tinyHint Critique checksClass() checksMethod() checksPackage() checksNode() name() rationale() group() severity() checkTarget(target) AbstractRule interval() SourceAnchor Object interval() StringMatchSourceAnchor stringToSearch interval() IntervalSourceAnchor interval checksNode() NodeBasedRule refactoryChange() TransformationCritique refactoryChange() tinyHint() selector class source MissingMethodCritique refactoryChange() oldNode newNode NodeReplace title() description() formerMessage laterMessage InvocationOrderCritique checkTarget(target) NodeMatchRule checkTarget(target) NodeTransformRule checksMethod() checkTarget(target) CollectionCopyEmptyRule sourceAnchor 1 entity 1 rule 1
17.
Property title() icon() Property act(property, target) description icon action PropertyAction 0..* actions description() ban() tinyHint Critique checksClass() checksMethod() checksPackage() checksNode() name() rationale() group() severity() checkTarget(target) AbstractRule interval() SourceAnchor Object interval() StringMatchSourceAnchor stringToSearch interval() IntervalSourceAnchor interval checksNode() NodeBasedRule refactoryChange() TransformationCritique refactoryChange() tinyHint() selector class source MissingMethodCritique refactoryChange() oldNode newNode NodeReplace title() description() formerMessage laterMessage InvocationOrderCritique checkTarget(target) NodeMatchRule checkTarget(target) NodeTransformRule checksMethod() checkTarget(target) CollectionCopyEmptyRule sourceAnchor 1 entity 1 rule 1 Target Rule
18.
title() icon() actions() target Property description() ban() tinyHint rule Critique refactoryChange() TransformationCritique package DependencyCritique noteText Note url IssueTrackerEntry Open in web
browserEdit note View description Ban critique Automatically resolve Open dependency browser — critique’s action
19.
Property Exemplified
20.
Property Exemplified Icon
21.
Property Exemplified Icon Title
22.
Property Exemplified Icon Title Actions
23.
Renraku UML Subset title() icon() Property act(property,
target) description icon action PropertyAction 0..* actions description() ban() tinyHint Critique checksClass() checksMethod() checksPackage() checksNode() name() rationale() group() severity() checkTarget(target) AbstractRule interval() SourceAnchor Object interval() StringMatchSourceAnchor stringToSearch interval() IntervalSourceAnchor interval checksNode() NodeBasedRule refactoryChange() TransformationCritique refactoryChange() tinyHint() selector class source MissingMethodCritique refactoryChange() oldNode newNode NodeReplace title() description() formerMessage laterMessage InvocationOrderCritique checkTarget(target) NodeMatchRule checkTarget(target) NodeTransformRule checksMethod() checkTarget(target) CollectionCopyEmptyRule sourceAnchor 1 entity 1 rule 1
24.
Renraku UML Subset title() icon() Property act(property,
target) description icon action PropertyAction 0..* actions description() ban() tinyHint Critique checksClass() checksMethod() checksPackage() checksNode() name() rationale() group() severity() checkTarget(target) AbstractRule interval() SourceAnchor Object interval() StringMatchSourceAnchor stringToSearch interval() IntervalSourceAnchor interval checksNode() NodeBasedRule refactoryChange() TransformationCritique refactoryChange() tinyHint() selector class source MissingMethodCritique refactoryChange() oldNode newNode NodeReplace title() description() formerMessage laterMessage InvocationOrderCritique checkTarget(target) NodeMatchRule checkTarget(target) NodeTransformRule checksMethod() checkTarget(target) CollectionCopyEmptyRule sourceAnchor 1 entity 1 rule 1
25.
Renraku UML Subset interval() SourceAnchor
Object interval() StringMatchSourceAnchor stringToSearch interval() IntervalSourceAnchor interval title() formerMessage laterMessage InvocationOrderCritique sourceAnchor 1 entity 1
26.
Demo
27.
The Issues
28.
Interests checksMethod ^ true interest ^ CompildeMethod
29.
Interests checksNode ^ true interest ^ RBMessageNode checkNode:
aNode node isMessage…
30.
Tools critiques externalProperties
31.
Routing
32.
Routing RENRAKU
33.
Routing RENRAKU
34.
Routing RENRAKURENRAKU
35.
Renraku
36.
Renraku Incremental Rules
37.
Renraku Incremental Rules Incremental
Tools
38.
Renraku Incremental Rules Incremental
Tools Custom Analysis
39.
Renraku The One Static
Analysis Model to Rule Them All Object AnalysisIncremental Rules Incremental Tools Yuriy Tymchuk Mohammad Ghafari Oscar Nierstrasz Software Composition Group @ University of Bern
Download now