SlideShare a Scribd company logo
1 of 21
Download to read offline
Interactive Role Stereotype-Based Visualization
To Comprehend Software Architecture
Truong Ho-Quang, Alexandre Bergel, Arif Nurwidyantoro, Rodi Jolak, Michel R.V. Chaudron
28-29 Sept
Adelaide
Australia
1
Outline
● Motivation
● Background: Role Stereotypes
● Our Visualization tool: RoleViz
● Evaluation
● Findings
● Conclusion & Future Directions
RoleViz
2
Motivation
● Software Understanding is a long-standing challenge
● Our focus is on: understanding at design/architecture level
structural perspective
● Our idea: enrich visualisation with
the role that classes play
in the design / architecture
3
Background: Role-Stereotypes in software design
Every component in a software design should
‘play’ one of the stereotypical responsibility-roles
Information HolderService Provider
CoordinatorController Interfacer
Structurer
Rebecca Wirfs-Brock
4
Service Provider (SP)
•performs specific work
•offers services
’-er’, ’-or’; public static methods;
might contains some logics to do
specific tasks.
Information Holder (IH)
•knows/keeps information
•provides information
data encapsulation; get/set methods;
private/internal methods
Interfacer (IT)
•transforms/converts information
and requests btw SW layers
GUI-related; storefront; API;
extension points
Controller (CT)
•makes decision
•control complex tasks
’controller’, ’manager’; logic
statements; knows IH, SP, CO
Coordinator (CO)
•delegates works
•forwards info/requests
no/simple logic; knows requester &
requestee
Structurer (ST)
•keeps/maintains relationship
•pool, collects, arranges objs
Collection; sort(); compare(); validate();
add(); remove(); …
Role Stereotypes
5
K9-Mail case
(HP: https://k9mail.app/)
Establishing the Role-Stereotypes of classes
● We used manually labelled 700+ classes of the
K9-Mail case (available in replication package)
● For future use, we built a ML-Classifier (*) that can
automatically classify classes into role-stereotypes
based on features that can be extracted from the
source code.
Size: 700+ classes
Language: Java
Platform: Android
Type: Opensource
Community: Github
Popularity: 5.2k stars
2.1k forks
6
(*) Nurwidyantoro, A., Ho-Quang, T. and Chaudron, M.R., 2019. Automated classification of class role-stereotypes via
machine learning. In Proceedings of the Evaluation and Assessment on Software Engineering (pp. 79-88).
● The height of a unit U represents the fan-in, i.e. number of
units that depend on U.
● The width of a unit U represents the fan-out, i.e. number of
units that U depends on (has a dependency to).
RoleViz approach
Package
Class / Interface
Dependencies
7
RoleViz Interactions
Aim: To ease the exploration of
the software under analysis.
● Hoovering triggers highlighting of
dependencies
● Drilling-down to obtain detailed
data about a particular visual
element (package/class)
8
RoleViz drill-down
9
Demo video
https://youtu.be/1JYQMPMF9do?t=278
10
Evaluation
● Compare to existing Software
Architecture visualization tool
www.softagram.com
○ Commercial software visualization tool
● We observe 16 participants doing 2 comprehension tasks
● We measure:
○ participant’s perceived cognitive load (using TLX form),
○ participant’s perceived usability (using SUS),
○ participant’s understanding of the software system regarding the tasks (using
questionnaire)
11
Comprehension Tasks
● 2 comprehension tasks
● Realistic
○ From issue tracking system of K9
○ Simple tasks (tagged with good first issue)
○ Solution is compared against code approved in K9 project
Two tasks are of similar complexity 12
The two comprehension tasks are comparable
in terms of complexity, required cognitive-load,
usability score, and understanding score. With
this, we can eliminate the“task-difference”
factor when analysing the differencebetween
visualisation tools.
Participants
● Voluntary call for participation in researcher’s networks
● Invite 16 participants
○ 4 industrial software developers
○ 7 MSc students
○ 4 PhD students
○ 1 postdoc
● Sent out training materials to participants
○ Video & presentation
○ Understanding of role-stereotypes
○ Use of both tools Softagram and RoleViz
13
Post-task Understanding
questions
Comprehension Session
● Introduction (5 mins)
● Warm-up (15 mins) – explore ‘hands on’
● Comprehension session(*) (50 minutes)
○ 1 task with Softagram
○ 1 task with RoleViz
○ 1 post-task questionnaire after each task
● Post-study questionnare
Q1. Can you name 5 elements
(packages/classes/methods) that
are the most relevant/important to the
task?
Q2. What are the responsibilities of the
elements chosen for
the question above in performing the
functionality related
to the task?
Q3. Which changes of the elements
chosen for question
above are needed to complete the
task? (Describe your
plan/solution)(*) We alternated tasks and visualisation tools
14
Data Collection
● Background information
○ Programming experience
○ Android
○ K9 case
● NASA Task Load Index (TLX) Questionnaire,
● System Usability Scale (SUS) Questionnaire,
● Understanding Questionnaire,
● Video Recording,
● Post-study Questionnaire.
Before
Comprehension
Session
During
Comprehension
Session
After
Comprehension
Session
15
Comparison Result: Task load
The average task
load associated with
using RoleViz and
Softagram for the
comprehension tasks
is comparable
16
Comparison result: Usability
• RoleViz is reported to have
significantly higher
Usability score compared
to Softagram.
• Participants valued the
high level of integrity of
available functions of
RoleViz over Softagram
17
Comparison result: Understanding
Participants achieved significantly higher understandingscores (by
10%) and produced better solutions when using RoleViz (for
comprehension tasks) compared to using Softagram.
18
Participant’s perception on the features of RoleViz
Participants wished for:
● Visualizing behavioral information (e.g., call-graphs)
at a level between source code and architecture level
of abstraction
● Better support when reading source code (syntax
highlighting and searching)
Participants liked the integration features that enable
exploring a software system at both the design and the
source code levels of abstraction
19
Some participants use classes with
particular stereo-types as starting-
points for particular understanding
tasks:
● For tasks that deal with ’user
interface’ issues, participants start
their exploration of the system by
looking at classes labelled as
’interface’-type.
Interesting observation
Nurwidyantoro, A., Ho-Quang, T. and Chaudron, M.R., 2019. Automated classification of class role-stereotypes via machine
learning. In Proceedings of the Evaluation and Assessment on Software Engineering (pp. 79-88).
20
Conclusion & Future Work
Present a novel visualization tool (RoleViz)
for software comprehension/understanding
using role-stereotypes.
Evaluate RoleViz agaist a commercial
comprehension tool Softagram via user’s:
- Task-load
- Usability
- Understanding
Improving RoleViz
- Enhance current visualisation
- Add more features
- Support more languages and
platforms
Automatizing the whole process
- Build ML model for role
identification
Demo video:
https://youtu.be/1JYQMPMF9do?t=278
Replication package:
https://bit.ly/380PQb7 21

More Related Content

Similar to Interactive Role Stereotype-Based Visualization To Comprehend Software Architecture - VISSOFT2020

Similar to Interactive Role Stereotype-Based Visualization To Comprehend Software Architecture - VISSOFT2020 (20)

Software Project management
Software Project managementSoftware Project management
Software Project management
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Unit 5
Unit   5Unit   5
Unit 5
 
AJAY Profile
AJAY ProfileAJAY Profile
AJAY Profile
 
Pooja_resume_5.10
Pooja_resume_5.10Pooja_resume_5.10
Pooja_resume_5.10
 
Core java report
Core java reportCore java report
Core java report
 
Meha_Ghadge
Meha_GhadgeMeha_Ghadge
Meha_Ghadge
 
Unit 3- Software Design.pptx
Unit 3- Software Design.pptxUnit 3- Software Design.pptx
Unit 3- Software Design.pptx
 
ElizabethPrattConsulting_DellPortfolio
ElizabethPrattConsulting_DellPortfolioElizabethPrattConsulting_DellPortfolio
ElizabethPrattConsulting_DellPortfolio
 
Rajiv Ranjan ODI_Developer
Rajiv Ranjan ODI_DeveloperRajiv Ranjan ODI_Developer
Rajiv Ranjan ODI_Developer
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor rout
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor rout
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Resume_shai.docx
Resume_shai.docxResume_shai.docx
Resume_shai.docx
 
Srividhya_pm_resume_latest
Srividhya_pm_resume_latestSrividhya_pm_resume_latest
Srividhya_pm_resume_latest
 
Resume
ResumeResume
Resume
 
OOP-1.pptx
OOP-1.pptxOOP-1.pptx
OOP-1.pptx
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Software design
Software designSoftware design
Software design
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 

More from Ho Quang Truong

Truong Ho-Quang's Ph.D Defence Presentation
Truong Ho-Quang's Ph.D Defence PresentationTruong Ho-Quang's Ph.D Defence Presentation
Truong Ho-Quang's Ph.D Defence PresentationHo Quang Truong
 
SPLC 2018 industry forum
SPLC 2018 industry forumSPLC 2018 industry forum
SPLC 2018 industry forumHo Quang Truong
 
Hand-Over Presentation at SPLC’17 in Sevilla
Hand-Over Presentation at SPLC’17 in SevillaHand-Over Presentation at SPLC’17 in Sevilla
Hand-Over Presentation at SPLC’17 in SevillaHo Quang Truong
 

More from Ho Quang Truong (7)

Truong Ho-Quang's Ph.D Defence Presentation
Truong Ho-Quang's Ph.D Defence PresentationTruong Ho-Quang's Ph.D Defence Presentation
Truong Ho-Quang's Ph.D Defence Presentation
 
SPLC 2018 Booklet
SPLC 2018 BookletSPLC 2018 Booklet
SPLC 2018 Booklet
 
SPLC 2018 industry forum
SPLC 2018 industry forumSPLC 2018 industry forum
SPLC 2018 industry forum
 
Splc18 A4 poster
Splc18 A4 posterSplc18 A4 poster
Splc18 A4 poster
 
Splc18 flyer
Splc18 flyerSplc18 flyer
Splc18 flyer
 
Splc18 cover slide
Splc18 cover slideSplc18 cover slide
Splc18 cover slide
 
Hand-Over Presentation at SPLC’17 in Sevilla
Hand-Over Presentation at SPLC’17 in SevillaHand-Over Presentation at SPLC’17 in Sevilla
Hand-Over Presentation at SPLC’17 in Sevilla
 

Recently uploaded

%+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 new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%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 midrandmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
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 studentsHimanshiGarg82
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%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 tembisamasabamasaba
 

Recently uploaded (20)

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 new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%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
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%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
 

Interactive Role Stereotype-Based Visualization To Comprehend Software Architecture - VISSOFT2020

  • 1. Interactive Role Stereotype-Based Visualization To Comprehend Software Architecture Truong Ho-Quang, Alexandre Bergel, Arif Nurwidyantoro, Rodi Jolak, Michel R.V. Chaudron 28-29 Sept Adelaide Australia 1
  • 2. Outline ● Motivation ● Background: Role Stereotypes ● Our Visualization tool: RoleViz ● Evaluation ● Findings ● Conclusion & Future Directions RoleViz 2
  • 3. Motivation ● Software Understanding is a long-standing challenge ● Our focus is on: understanding at design/architecture level structural perspective ● Our idea: enrich visualisation with the role that classes play in the design / architecture 3
  • 4. Background: Role-Stereotypes in software design Every component in a software design should ‘play’ one of the stereotypical responsibility-roles Information HolderService Provider CoordinatorController Interfacer Structurer Rebecca Wirfs-Brock 4
  • 5. Service Provider (SP) •performs specific work •offers services ’-er’, ’-or’; public static methods; might contains some logics to do specific tasks. Information Holder (IH) •knows/keeps information •provides information data encapsulation; get/set methods; private/internal methods Interfacer (IT) •transforms/converts information and requests btw SW layers GUI-related; storefront; API; extension points Controller (CT) •makes decision •control complex tasks ’controller’, ’manager’; logic statements; knows IH, SP, CO Coordinator (CO) •delegates works •forwards info/requests no/simple logic; knows requester & requestee Structurer (ST) •keeps/maintains relationship •pool, collects, arranges objs Collection; sort(); compare(); validate(); add(); remove(); … Role Stereotypes 5
  • 6. K9-Mail case (HP: https://k9mail.app/) Establishing the Role-Stereotypes of classes ● We used manually labelled 700+ classes of the K9-Mail case (available in replication package) ● For future use, we built a ML-Classifier (*) that can automatically classify classes into role-stereotypes based on features that can be extracted from the source code. Size: 700+ classes Language: Java Platform: Android Type: Opensource Community: Github Popularity: 5.2k stars 2.1k forks 6 (*) Nurwidyantoro, A., Ho-Quang, T. and Chaudron, M.R., 2019. Automated classification of class role-stereotypes via machine learning. In Proceedings of the Evaluation and Assessment on Software Engineering (pp. 79-88).
  • 7. ● The height of a unit U represents the fan-in, i.e. number of units that depend on U. ● The width of a unit U represents the fan-out, i.e. number of units that U depends on (has a dependency to). RoleViz approach Package Class / Interface Dependencies 7
  • 8. RoleViz Interactions Aim: To ease the exploration of the software under analysis. ● Hoovering triggers highlighting of dependencies ● Drilling-down to obtain detailed data about a particular visual element (package/class) 8
  • 11. Evaluation ● Compare to existing Software Architecture visualization tool www.softagram.com ○ Commercial software visualization tool ● We observe 16 participants doing 2 comprehension tasks ● We measure: ○ participant’s perceived cognitive load (using TLX form), ○ participant’s perceived usability (using SUS), ○ participant’s understanding of the software system regarding the tasks (using questionnaire) 11
  • 12. Comprehension Tasks ● 2 comprehension tasks ● Realistic ○ From issue tracking system of K9 ○ Simple tasks (tagged with good first issue) ○ Solution is compared against code approved in K9 project Two tasks are of similar complexity 12 The two comprehension tasks are comparable in terms of complexity, required cognitive-load, usability score, and understanding score. With this, we can eliminate the“task-difference” factor when analysing the differencebetween visualisation tools.
  • 13. Participants ● Voluntary call for participation in researcher’s networks ● Invite 16 participants ○ 4 industrial software developers ○ 7 MSc students ○ 4 PhD students ○ 1 postdoc ● Sent out training materials to participants ○ Video & presentation ○ Understanding of role-stereotypes ○ Use of both tools Softagram and RoleViz 13
  • 14. Post-task Understanding questions Comprehension Session ● Introduction (5 mins) ● Warm-up (15 mins) – explore ‘hands on’ ● Comprehension session(*) (50 minutes) ○ 1 task with Softagram ○ 1 task with RoleViz ○ 1 post-task questionnaire after each task ● Post-study questionnare Q1. Can you name 5 elements (packages/classes/methods) that are the most relevant/important to the task? Q2. What are the responsibilities of the elements chosen for the question above in performing the functionality related to the task? Q3. Which changes of the elements chosen for question above are needed to complete the task? (Describe your plan/solution)(*) We alternated tasks and visualisation tools 14
  • 15. Data Collection ● Background information ○ Programming experience ○ Android ○ K9 case ● NASA Task Load Index (TLX) Questionnaire, ● System Usability Scale (SUS) Questionnaire, ● Understanding Questionnaire, ● Video Recording, ● Post-study Questionnaire. Before Comprehension Session During Comprehension Session After Comprehension Session 15
  • 16. Comparison Result: Task load The average task load associated with using RoleViz and Softagram for the comprehension tasks is comparable 16
  • 17. Comparison result: Usability • RoleViz is reported to have significantly higher Usability score compared to Softagram. • Participants valued the high level of integrity of available functions of RoleViz over Softagram 17
  • 18. Comparison result: Understanding Participants achieved significantly higher understandingscores (by 10%) and produced better solutions when using RoleViz (for comprehension tasks) compared to using Softagram. 18
  • 19. Participant’s perception on the features of RoleViz Participants wished for: ● Visualizing behavioral information (e.g., call-graphs) at a level between source code and architecture level of abstraction ● Better support when reading source code (syntax highlighting and searching) Participants liked the integration features that enable exploring a software system at both the design and the source code levels of abstraction 19
  • 20. Some participants use classes with particular stereo-types as starting- points for particular understanding tasks: ● For tasks that deal with ’user interface’ issues, participants start their exploration of the system by looking at classes labelled as ’interface’-type. Interesting observation Nurwidyantoro, A., Ho-Quang, T. and Chaudron, M.R., 2019. Automated classification of class role-stereotypes via machine learning. In Proceedings of the Evaluation and Assessment on Software Engineering (pp. 79-88). 20
  • 21. Conclusion & Future Work Present a novel visualization tool (RoleViz) for software comprehension/understanding using role-stereotypes. Evaluate RoleViz agaist a commercial comprehension tool Softagram via user’s: - Task-load - Usability - Understanding Improving RoleViz - Enhance current visualisation - Add more features - Support more languages and platforms Automatizing the whole process - Build ML model for role identification Demo video: https://youtu.be/1JYQMPMF9do?t=278 Replication package: https://bit.ly/380PQb7 21