SlideShare a Scribd company logo
1 of 37
Download to read offline
Marea: a Semi-Automatic
Decision Support System for
Breaking Dependency Cycles
Andrea Caracciolo, Bledar Aga, 

Mircea Lungu, Oscar Nierstrasz
http://scg.unibe.ch
SANER 2016
2
rules
model
runner
runners
internal
3
rules
model
runner
runners
internal
2 cycles
4
rules
model
runner
runners
internal
2 cycles
5
rules
model
runner
runners
internal
6
rules
model
runner
runners
internal
Which?
7
rules
model
runner
runners
internal
?
8
rules
model
runner
runners
internal
Marea
9
Analyze
Cycles
Compute
Refactoring Paths
Accept
Refactoring Step
select
cycle
source
code
select
ref. path
Marea
source
code
A
B
C
10
rules
model
runner
runners
internal
rules
model
runner
runners
internal
Analyze Cycles
11
rules
model
runner
runners
internal
rules
model
runner
runners
internal
Analyze Cycles
• Invocation 

• Parameter

• Inheritance 

• …
12
rules
model
runner
runners
internal
Analyze Cycles
3
4
6
1
rules
model
runner
runners
internal
3
2
3
4
13
rules
model
runner
runners
internal
Analyze Cycles
3
4
6
1
rules
model
runner
runners
internal
3
2
3
4
+ sharing
- size
Sharing: 2

Size: 14
Sharing: 2

Size: 12
14
rules
model
runner
runners
internal
Analyze Cycles
3
4
6
1
rules
model
runner
runners
internal
3
2
3
4
+ sharing
- size
Sharing: 2

Size: 14
Sharing: 2

Size: 12
15
rules
model
runner
runners
internal
Analyze Cycles
3
4
6
1
rules
model
runner
runners
internal
2
3
+ sharing
- size
3
4
16
Runners -> Rules
v1 v2 v3 v4
MC MM ASP ASP+DI
17
v1 v2 v3 v4
MC MM ASP ASP+DI
Runners -> Rules
Move Class
18
v1 v2 v3 v4
MC MM ASP ASP+DI
Runners -> Rules
Move Class
19
v1 v2 v3 v4
MC MM ASP ASP+DI
Runners -> Rules
Move Method
20
E -> A
v1 v2 v3 v4
MC MM ASP ASP+DI
Runners -> Rules
Move Method
21
E -> A
v1 v2 v3 v4
MC MM ASP ASP+DI
Runners -> Rules
Abstract Server Pattern
22
E -> A
v1 v2 v3 v4
MC MM ASP ASP+DI
I
Runners -> Rules
Abstract Server Pattern
23
E -> A
v1 v2 v3 v4
MC MM ASP ASP+DI
Dependency
I
Runners -> Rules
ASP + Dependency Injection
24
v1 v2 v3 v4
MC MM ASP ASP+DI
v1.1 v1.2
MC ASP+DI
Runners -> Rules
Runners -> Rules
25
v1 v2 v3 v4
MC MM ASP ASP+DI
v1.1 v1.2
MC ASP+DI
- #total cycles
- #ref. steps
- instability
+ abstractness
2.1 2.6 .. .. ..
Runners -> Rules
26
v1 v2 v3 v4
MC MM ASP ASP+DI
v1.1 v1.2
MC ASP+DI
2.1 2.6 .. .. ..
- #total cycles
- #ref. steps
- instability
+ abstractness
27
JHotDraw
484 Java files 

28,000 NCLOC

44 cycles
28
JHotDraw
29
JHotDraw
0 4 8 12 16
# refactorings
30
Industrial Project
865 Java files 

50,000 NCLOC

25 cycles
31
Industrial Project
32
Industrial Project
Original
C1.registerStubbedServices()
to C2
C1 to P2
C1 to P2
C1.execLoadSession()
to C2
MMMC
MMMC
C1.execLoadSession()
for type C2
ASP+DI
33
Industrial Project
Original
C1.registerStubbedServices()
to C2
C1 to P2
C1 to P2
C1.execLoadSession()
to C2
MMMC
MM
1.1
MC
1.2
0.6
C1.execLoadSession()
for type C2
ASP+DI
0.7 0.7
34
Industrial Project
Original
C1.registerStubbedServices()
to C2
C1 to P2
C1 to P2
C1.execLoadSession()
to C2
MMMC
MM
1.1
MC
1.2
0.6
C1.execLoadSession()
for type C2
ASP+DI
0.7 0.7
35
Industrial Project
Original
C1.registerStubbedServices()
to C2
C1 to P2
C1 to P2
C1.execLoadSession()
to C2
MMMC
MM
1.1
MC
1.2
0.6
C1.execLoadSession()
for type C2
ASP+DI
0.7 0.7
36
Industrial Project
Original
C1.registerStubbedServices()
to C2
C1 to P2
C1 to P2
C1.execLoadSession()
to C2
MMMC
MM
1.1
MC
1.2
0.6
C1.execLoadSession()
for type C2
ASP+DI
0.7 0.7
Marea
assisted quality
improvement
37www.andrea-caracciolo.com
Andrea Caracciolo
- actionable results

- assessable cost

More Related Content

Similar to marea - SANER 2016

Reading Group 2014
Reading Group 2014Reading Group 2014
Reading Group 2014
Emir Muñoz
 
Prediction of pKa from chemical structure using free and open source tools
Prediction of pKa from chemical structure using free and open source toolsPrediction of pKa from chemical structure using free and open source tools
Prediction of pKa from chemical structure using free and open source tools
US Environmental Protection Agency (EPA), Center for Computational Toxicology and Exposure
 
Scam2011 syer
Scam2011 syerScam2011 syer
Scam2011 syer
SAIL_QU
 
Electric_FSAE_Race_Car_MS_Thesis
Electric_FSAE_Race_Car_MS_ThesisElectric_FSAE_Race_Car_MS_Thesis
Electric_FSAE_Race_Car_MS_Thesis
Quinn Sullivan
 

Similar to marea - SANER 2016 (20)

OPERA: A free and open source QSAR tool for predicting physicochemical proper...
OPERA: A free and open source QSAR tool for predicting physicochemical proper...OPERA: A free and open source QSAR tool for predicting physicochemical proper...
OPERA: A free and open source QSAR tool for predicting physicochemical proper...
 
Dunham - Data Mining.pdf
Dunham - Data Mining.pdfDunham - Data Mining.pdf
Dunham - Data Mining.pdf
 
Dunham - Data Mining.pdf
Dunham - Data Mining.pdfDunham - Data Mining.pdf
Dunham - Data Mining.pdf
 
Kx for wine tasting
Kx for wine tastingKx for wine tasting
Kx for wine tasting
 
Systems Thinking for Masters Rowing - Creating a pathway for masters into com...
Systems Thinking for Masters Rowing - Creating a pathway for masters into com...Systems Thinking for Masters Rowing - Creating a pathway for masters into com...
Systems Thinking for Masters Rowing - Creating a pathway for masters into com...
 
Predictive Performance Monitoring of Material Handling Systems Using the Perf...
Predictive Performance Monitoring of Material Handling Systems Using the Perf...Predictive Performance Monitoring of Material Handling Systems Using the Perf...
Predictive Performance Monitoring of Material Handling Systems Using the Perf...
 
Reading Group 2014
Reading Group 2014Reading Group 2014
Reading Group 2014
 
Prediction of pKa from chemical structure using free and open source tools
Prediction of pKa from chemical structure using free and open source toolsPrediction of pKa from chemical structure using free and open source tools
Prediction of pKa from chemical structure using free and open source tools
 
Governance and budget principles (North Africa West Asia)
Governance and budget principles (North Africa West Asia)Governance and budget principles (North Africa West Asia)
Governance and budget principles (North Africa West Asia)
 
CREAM - That Conference Austin - January 2024.pptx
CREAM - That Conference Austin - January 2024.pptxCREAM - That Conference Austin - January 2024.pptx
CREAM - That Conference Austin - January 2024.pptx
 
Cache Rules Everything Around Me - DevIntersection - December 2022
Cache Rules Everything Around Me - DevIntersection - December 2022Cache Rules Everything Around Me - DevIntersection - December 2022
Cache Rules Everything Around Me - DevIntersection - December 2022
 
SAFE: Policy Aware SPARQL Query Federation Over RDF Data Cubes
SAFE: Policy Aware SPARQL Query Federation Over RDF Data CubesSAFE: Policy Aware SPARQL Query Federation Over RDF Data Cubes
SAFE: Policy Aware SPARQL Query Federation Over RDF Data Cubes
 
Cache Rules Everything Around Me - Momentum - October 2022.pptx
Cache Rules Everything Around Me - Momentum - October 2022.pptxCache Rules Everything Around Me - Momentum - October 2022.pptx
Cache Rules Everything Around Me - Momentum - October 2022.pptx
 
SPARQL Querying Benchmarks ISWC2016
SPARQL Querying Benchmarks ISWC2016SPARQL Querying Benchmarks ISWC2016
SPARQL Querying Benchmarks ISWC2016
 
Let's understand Data Science
Let's understand Data Science Let's understand Data Science
Let's understand Data Science
 
Kubernetes Optimization - How We Cut Our Cloud Infrastructure Cost By 40% Usi...
Kubernetes Optimization - How We Cut Our Cloud Infrastructure Cost By 40% Usi...Kubernetes Optimization - How We Cut Our Cloud Infrastructure Cost By 40% Usi...
Kubernetes Optimization - How We Cut Our Cloud Infrastructure Cost By 40% Usi...
 
Chainer Meetup 発表資料
Chainer Meetup 発表資料Chainer Meetup 発表資料
Chainer Meetup 発表資料
 
Scam2011 syer
Scam2011 syerScam2011 syer
Scam2011 syer
 
[IUI 2017] Criteria Chains: A Novel Multi-Criteria Recommendation Approach
[IUI 2017] Criteria Chains: A Novel Multi-Criteria Recommendation Approach[IUI 2017] Criteria Chains: A Novel Multi-Criteria Recommendation Approach
[IUI 2017] Criteria Chains: A Novel Multi-Criteria Recommendation Approach
 
Electric_FSAE_Race_Car_MS_Thesis
Electric_FSAE_Race_Car_MS_ThesisElectric_FSAE_Race_Car_MS_Thesis
Electric_FSAE_Race_Car_MS_Thesis
 

More from Andrea Caracciolo

More from Andrea Caracciolo (7)

PhD Defense presentation
PhD Defense presentationPhD Defense presentation
PhD Defense presentation
 
Dicto - industrial presentation 3
Dicto - industrial presentation 3Dicto - industrial presentation 3
Dicto - industrial presentation 3
 
Dicto - industrial presentation 2
Dicto - industrial presentation 2Dicto - industrial presentation 2
Dicto - industrial presentation 2
 
Dicto - industrial presentation
Dicto - industrial presentationDicto - industrial presentation
Dicto - industrial presentation
 
Dicto - wicsa 2015
Dicto - wicsa 2015Dicto - wicsa 2015
Dicto - wicsa 2015
 
How Do Software Architects Specify and Validate Quality Requirements?
How Do Software Architects Specify and Validate Quality Requirements?How Do Software Architects Specify and Validate Quality Requirements?
How Do Software Architects Specify and Validate Quality Requirements?
 
Dictō -- Keeping Software Architecture Under Control
Dictō -- Keeping Software Architecture Under ControlDictō -- Keeping Software Architecture Under Control
Dictō -- Keeping Software Architecture Under Control
 

Recently uploaded

Recently uploaded (20)

[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 

marea - SANER 2016