SlideShare une entreprise Scribd logo
1  sur  80
Télécharger pour lire hors ligne
SUPPORTING SOFTWARE DEVELOPERS
WITH A HOLISTIC RECOMMENDER SYSTEM
R AE E LV
Luca Ponzanelli
Michele Lanza
Gabriele Bavota
Andrea Mocci
Università della Svizzera italiana
Rocco Oliveto
Simone Scalabrino
University of Molise
Massimiliano Di Penta University of Sannio
Stack
Overflow
Video
Tutorials
API
Documentation
Bug
Reports
Development
Emails
Code
Samples
Stack
Overflow
Video
Tutorials
API
Documentation
Bug
Reports
Development
Emails
Code
Samples
Stack
Overflow
Video
Tutorials
API
Documentation
Bug
Reports
Development
Emails
Code
Samples
Developer’s knowledge context
is not considered
IDE
Web Browser IDE
LIBRAhttp://libra.inf.usi.ch
Web
Browser
IDE
IDE
Web
Browser
IDE
{…}
{…}
{…}
Context Graph
{…}
{…}
{…}
{…}
Artifact Similarity
{…}
~
Holistic
Similarity
{…}
{…}
{…}
{…}
Island Parser
StORMeD
http://stormed.inf.usi.ch
{…}
{…}
{…}
Heterogeneous
Abstract Syntax Tree
Heterogeneous
Abstract Syntax Tree
</> {;}
JSON Text StackTraceJavaXML
Heterogeneous
Abstract Syntax Tree
</> {;}
Meta-Information
Model
{…}
Term

Frequencies
Method
Declarations
Types
XML
Elements
Identifiers
Variables

Declarations
JSON

Members
Method

Invocations
Types
Term

Frequencies
Term

Frequencies
Method
Declarations
Types{…}
Variable

Declarations
Meta-Information
Model
Meta-Information
Model
Types
Term

Frequencies
Term

Frequencies
Method
Declarations
Types{…}
Variable

Declarations
Holistic
Similarity
Vx,y =⟨NL Similarity, Type Similarity⟩
fsim(Rx, Ry) = Vx,y
Holistic
Context Graph
{…}
{…}
{…}
{…}
{…}
{…}
{…}
HoliRank
Holistic PageRank
{…}
{…}
{…}
{…}
HoliRank
Artifact Centrality
{…}
ContextComplementarity
Result Prominence
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Search
Results
{…}
{…}
{…}
{…}
Context
Complementarity
{…}
{…}
{…}
{…}
Context
Complementarity
{…}
{…}
{…}
{…}
1.0
0.6
0.6 0.3
0.2
0.2
0.1
0.2
0.4
HoliRank(Result)
Context
Complementarity
{…}
{…}
{…}
{…}
0.0
0.4
0.4 0.7
0.8
0.8
0.9
0.8
0.6
1 - HoliRank(Result)
Context
Complementarity
Search
Results
ContextComplementarity
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Result Prominence
Result
Prominence
Result
Prominence
1.0
0.6
0.10.4
0.3
0.5
HoliRank(Result)
Search
Results
ContextComplementarity
Result Prominence
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Term

Frequencies
Method
Declarations
Types
XML
Elements
Identifiers
Variables

Declarations
JSON

Members
Method

Invocations
Term

Frequencies
Method
Declarations
Types
XML
Elements
Identifiers
Variables

Declarations
JSON

Members
Method

Invocations
Σ
Search
Results
ContextComplementarity
Result Prominence
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Search
Results
ContextComplementarity
Result Prominence
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Search
Results
ContextComplementarity
Result Prominence
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
domain1.com
domain2.com
domain3.com
Does Libra help developers?
Controlled
Experiment
Industrial

Applicability
Study I Study II
Enhancement Tasks
Bug Fixing Tasks
16 Developers
Study I
Setup
Enhancement
Task
Bug Fixing
Task
75’
Study I
Setup
Enhancement
Task
Bug Fixing
Task
75’
Study I
Setup
Task
Completion
Study I
Setup
Developers’
Agreement
Study I
Agreement
ContextComplementarity Result Prominence
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Developers’
Agreement
Study I
Agreement
0%
12.5%
25%
37.5%
50%
Abs. No No Maybe Yes Abs. Yes
Do you agree with
Prominence?
73%
agreement
Study I
Agreement
0%
12.5%
25%
37.5%
50%
Abs. No No Maybe Yes Abs. Yes
Do you agree with
Complementarity?
83%
agreement
Study I
Completion
Task
Completion
90%
75%
25%
50%
+25%
completeness
Treatment
Completenessofthetasks
100
Without

Libra
80
60
40
0
With

Libra
20
Study I
Completion
Bug Fixing
100
Without

Libra
Treatment
80
60
40
0
With

Libra
Completenessofthetasks
+37%
completeness
20
Study I
Completion
Enhancement
100
Without

Libra
Treatment
80
60
40
0
With

Libra
Completenessofthetasks
+52%
completeness
20
Study I
Completion
Overall
Controlled
Experiment
Industrial

Applicability
Study I Study II
Study II
Setup
…
5 Developers
Semi-Structured

Interviews
Study II
Results
Is Libra useful?
Study II
Results
0%
15%
30%
45%
60%
Abs. No No Maybe Yes Abs. Yes
Is Libra useful?
60%
found Libra useful
Study II
Results
Would you use Libra?
Study II
Results
0%
15%
30%
45%
60%
Abs. No No Maybe Yes Abs. Yes
Would you use Libra?
100%
would use Libra
Study II
Results
“I noticed that Libra allowed me to find
the most appropriate web page quicker.”
Study II
Results
“Libra flowlessly integrates into the
classical developer's workflow, without
adding complexity.”
“I noticed that Libra allowed me to find
the most appropriate web page quicker.”
Study II
Results
“Libra flowlessly integrates into the
classical developer's workflow, without
adding complexity.”
“I noticed that Libra allowed me to find
the most appropriate web page quicker.”
“I particularly like the idea of adding
information to the Google ranking.”
Study II
Results
“The graph-based interface provides
too many details.”
Study II
Results
“You could think of a single metric that
provides an indication of both
complementarity and prominence.”
“The graph-based interface provides
too many details.”
Controlled
Experiment
Industrial

Applicability
Study I Study II
A holistic analysis of the information context
can offer better support to information
navigation and retrieval
SUPPORTING SOFTWARE DEVELOPERS
WITH A HOLISTIC RECOMMENDER SYSTEM
R AE E LV
Luca Ponzanelli
Michele Lanza
Gabriele Bavota
Andrea Mocci
Università della Svizzera italiana
Rocco Oliveto
Simone Scalabrino
University of Molise
Massimiliano Di Penta University of Sannio
http://libra.inf.usi.ch

Contenu connexe

Tendances

What do class comments tell us?An investigation of comment evolution and prac...
What do class comments tell us?An investigation of comment evolution and prac...What do class comments tell us?An investigation of comment evolution and prac...
What do class comments tell us?An investigation of comment evolution and prac...
Pooja Rani
 
What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?
Pooja Rani
 

Tendances (14)

What do class comments tell us?An investigation of comment evolution and prac...
What do class comments tell us?An investigation of comment evolution and prac...What do class comments tell us?An investigation of comment evolution and prac...
What do class comments tell us?An investigation of comment evolution and prac...
 
Code analysis for a better future
Code analysis for a better futureCode analysis for a better future
Code analysis for a better future
 
Ready, Set, Refactor
Ready, Set, RefactorReady, Set, Refactor
Ready, Set, Refactor
 
Beyond QA
Beyond QABeyond QA
Beyond QA
 
Explanation of the TYPO3 Integrator Certification
Explanation of the TYPO3 Integrator CertificationExplanation of the TYPO3 Integrator Certification
Explanation of the TYPO3 Integrator Certification
 
How to become a Python Developer | Python Developer Skills | Python Career | ...
How to become a Python Developer | Python Developer Skills | Python Career | ...How to become a Python Developer | Python Developer Skills | Python Career | ...
How to become a Python Developer | Python Developer Skills | Python Career | ...
 
mca online self
mca online selfmca online self
mca online self
 
Automatic testing in DevOps
Automatic testing in DevOpsAutomatic testing in DevOps
Automatic testing in DevOps
 
T3CON09 - Certified TYPO3 Integrator
T3CON09 - Certified TYPO3 IntegratorT3CON09 - Certified TYPO3 Integrator
T3CON09 - Certified TYPO3 Integrator
 
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊PHP Conf Taiwan 2016 自動化與持續整合實作工作坊
PHP Conf Taiwan 2016 自動化與持續整合實作工作坊
 
The Butler and The Snake (Europython 2015)
The Butler and The Snake (Europython 2015)The Butler and The Snake (Europython 2015)
The Butler and The Snake (Europython 2015)
 
What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?
 
CDI 1.1 university
CDI 1.1 universityCDI 1.1 university
CDI 1.1 university
 
plone.api
plone.apiplone.api
plone.api
 

Similaire à Supporting Software Developers with a Holistic Recommender System

Similaire à Supporting Software Developers with a Holistic Recommender System (20)

A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 
API Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC ChapterAPI Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC Chapter
 
API Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterAPI Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC Chapter
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Walter api
Walter apiWalter api
Walter api
 
My life as a cyborg
My life as a cyborg My life as a cyborg
My life as a cyborg
 
Экспресс-анализ вредоносов / Crowdsourced Malware Triage
Экспресс-анализ вредоносов / Crowdsourced Malware TriageЭкспресс-анализ вредоносов / Crowdsourced Malware Triage
Экспресс-анализ вредоносов / Crowdsourced Malware Triage
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
 
The State of Wicket
The State of WicketThe State of Wicket
The State of Wicket
 
DevSecCon Boston 2018: Building a practical DevSecOps pipeline for free by Je...
DevSecCon Boston 2018: Building a practical DevSecOps pipeline for free by Je...DevSecCon Boston 2018: Building a practical DevSecOps pipeline for free by Je...
DevSecCon Boston 2018: Building a practical DevSecOps pipeline for free by Je...
 
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyRewriting a Plugin Architecture 3 Times to Harness the API Economy
Rewriting a Plugin Architecture 3 Times to Harness the API Economy
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02
 
Software Ecosystems as Networks - Advances on the FASTEN project, Paolo Boldi...
Software Ecosystems as Networks - Advances on the FASTEN project, Paolo Boldi...Software Ecosystems as Networks - Advances on the FASTEN project, Paolo Boldi...
Software Ecosystems as Networks - Advances on the FASTEN project, Paolo Boldi...
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partner
 
openQA Hoverboard - Open-source Question Answering Framework
openQA Hoverboard - Open-source Question Answering FrameworkopenQA Hoverboard - Open-source Question Answering Framework
openQA Hoverboard - Open-source Question Answering Framework
 
The Open Web
The Open WebThe Open Web
The Open Web
 
AtlasCamp 2015: Game of Codes: The CI battle
AtlasCamp 2015: Game of Codes: The CI battleAtlasCamp 2015: Game of Codes: The CI battle
AtlasCamp 2015: Game of Codes: The CI battle
 
The Open Web
The Open WebThe Open Web
The Open Web
 
Need 4 Speed FI
Need 4 Speed FINeed 4 Speed FI
Need 4 Speed FI
 

Dernier

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Dernier (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 

Supporting Software Developers with a Holistic Recommender System