SlideShare a Scribd company logo
Software Evolution and Maintenance — Software
Evolution Understanding — Juana Approach
“Automatic Extraction of Software Identifiers Map for Object-Oriented
Software Systems”
Ra'Fat Al-Msie'deen
Department of Software Engineering, Faculty of IT, Mutah University, Mutah 61710, Karak, Jordan
E-mail address: rafatalmsiedeen@mutah.edu.jo
https://rafat66.github.io/Al-Msie-Deen/
➢ To cite this version:
R. Al-Msie’deen and A. H. Blasi, “Software evolution understanding:
Automatic extraction of software identifiers map for object-oriented
software systems,” Journal of Communications Software and Systems,
vol. 17, no. 1, pp. 20–28, 2021. [Online]. Available:
https://jcoms.fesb.unist.hr/10.24138/jcomss.v17i1.1093/
Abstract
Software companies usually develop a set of product variants within the
same family that share certain functions and differ in others. Variations
across software variants occur to meet different customer requirements.
Thus, software product variants evolve overtime to cope with new
requirements. A software engineer who deals with this family may find it
difficult to understand the evolution scenarios that have taken place over
time. In addition, software identifier names are important resources to
understand the evolution scenarios in this family.
This paper introduces an automatic approach called Juana’s approach to
detect the evolution scenario across two product variants at the source
code level and identifies the common and unique software identifier names
across software variants source code. Juana’s approach refers to common
and unique identifier names as a software identifiers map and computes it
by comparing software variants to each other. Juana considers all software
identifier names such as package, class, attribute, and method.
The novelty of this approach is that it exploits common and unique
identifier names across the source code of software variants, to understand
the evolution scenarios across software family in an efficient way. For
validity, Juana was applied on ArgoUML and Mobile Media software
variants. The results of this evaluation validate the relevance and the
performance of the approach as all evolution scenarios were correctly
detected via a software identifiers map.
Index Terms
✓Software Engineering
✓Software Evolution
✓Software Identifiers Map
✓Formal Concept Analysis
✓Software Product Variant
Introduction
• Juana’s approach identifies the common and
unique software identifier names between two
Object-Oriented (OO) software variants.
• The common software identifiers are present in
two software variants.
• Furthermore, the unique software identifiers
have presented in one software variant, while
absent in another one.
• Juana computes common and unique software
identifier names by comparing software variants
to each other.
• However, the final result of Juana is the software
identifiers map, which is a visual presentation of
software variant identifier names, presented the
common and unique identifier names between
two product variants.
Juana
Introduction …
• The novelty of Juana is that it exploits all software identifier names of
product variants to identify the common and unique identifier names
across those variants.
• Juana separates the identifiers of two product variants into two subsets,
the common identifiers set, and the unique identifiers set.
• Indeed, common identifier names appear in all variants, while the unique
identifier names appear in one variant but not all variants.
• Manual reverse engineering of common and unique identifier names for
software product variants is a tedious process, time consuming, and
needs large efforts. Supporting this process would be of great aid.
The software
identifiers map
extraction process
Product variant A
Extracting the software identifiers
1
The software identifiers file A The software identifiers file B
Identifying the common and unique identifier names
2
The common identifier names The unique identifier names
Product variant B
Inputs
Software identifiers map
Software developers
Output
Common
Unique
Unique
&
The common and
unique identifiers of
two product variants
Product A
Product B
Legend
The common identifier names
The unique Identifier names
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
The Software
Identifiers Map
Extraction Process
The Software Identifiers Map Extraction Process
A. Extracting the Software Identifiers
B. Identifying the Common and Unique Identifier Names
Experiment Work Juana
Case studies
• To validate the proposed approach, experiments ran on two real case
studies: the mobile media [22] and ArgoUML [23].
• Mobile media software is a Java-based open-source application that
manipulates media on mobile devices.
• ArgoUML is a Java-based open-source software. ArgoUML tool
includes support for all standard UML diagrams.
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Evaluation
Metrics
Juana
Juana
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Conclusion
• This paper focused on detecting common and
unique software identifier names of software
product variants realized via code cloning.
• Juana’s approach aimed to find those identifier
names that are present in one variant of the
software and absent in another.
• The software family is usually well documented
but detecting the common and unique identifier
names in a given software variant still a
challenging task and imprecise in many cases.
• In this paper, Juana’s approach was based on
FCA to identify the common and unique
identifiers from the OO source code of two
software product variants.
• In fact, developers can use this approach to
understand the changes that have occurred
during program evolution.
Juana
Conclusion …
• The novelty of Juana is the exploiting of software identifier names to
understand the software evolution scenarios across the product
family.
• The proposed approach was applied to three case studies, and the
results proved the validity and accuracy in identifying the changes
that occurred during program evolution by comparing the result of
Juana with available documents for each case study.
Future Work
• For future work, Juana’s approach will be
extended by comparing more than two
software variants to identify common and
unique software identifier names.
• Also, Juana’s approach plans to apply the
tag cloud visualization technique [32 – 34,
47] on common and unique identifier
name blocks to present the most frequent
words in those blocks to software
engineers.
References
• http://code.google.com/p/erca/
• https://sdqweb.ipd.kit.edu/wiki/SPLevo/Case_Studies/ArgoUML-SPL
• http://www.ic.unicamp.br/~tizzei/mobilemedia/
• https://sites.google.com/site/ralmsideen/tools
• https://www.ifi.uzh.ch/en/seal/research/tools/changeDistiller.html
❖ All references:
[1] R. Al-Msie’deen and Anas H. Blasi, “The impact of the object-oriented software
evolution on software metrics: The iris approach,” Indian Journal of Science and
Technology, vol. 11, no. 8, pp. 1–8, 2018, DOI: 10.17485/ijst/2018/v11i8/121148.
-
-
-
[48]
Juana Approach: Software Evolution and Maintenance — Software
Evolution Understanding
Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems
Software Evolution and Maintenance — Software
Evolution Understanding — Juana Approach
“Automatic Extraction of Software Identifiers Map for Object-Oriented
Software Systems”
Ra'Fat Al-Msie'deen
Department of Software Engineering, Faculty of IT, Mutah University, Mutah 61710, Karak, Jordan
E-mail address: rafatalmsiedeen@mutah.edu.jo
https://rafat66.github.io/Al-Msie-Deen/

More Related Content

PDF
Feature-Oriented Software Evolution
PPTX
Of Changes and Their History
PDF
Mapping and visualization of source code a survey
PPTX
Requirements engineering for product lines
PDF
A Review of Feature Model Position in the Software Product Line and Its Extra...
PDF
Visualizing Object-oriented Software for Understanding and Documentation
PDF
CORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSIS
PDF
Scoops and Brushes for Software Archaeology - Metadata Dating - slides - Robe...
Feature-Oriented Software Evolution
Of Changes and Their History
Mapping and visualization of source code a survey
Requirements engineering for product lines
A Review of Feature Model Position in the Software Product Line and Its Extra...
Visualizing Object-oriented Software for Understanding and Documentation
CORRELATING FEATURES AND CODE BY DYNAMIC AND SEMANTIC ANALYSIS
Scoops and Brushes for Software Archaeology - Metadata Dating - slides - Robe...

Similar to Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems (20)

PDF
Modern development paradigms
PPT
Rhapsody Software
PDF
Populating a Release History Database (ICSM 2013 MIP)
PDF
Evolutionary visual software analytics
PPTX
Research software identification - Catherine Jones
PDF
A methodology to evaluate object oriented software systems using change requi...
PDF
[2016/2017] Modern development paradigms
PDF
TEFSE05.ppt
PDF
Versioning and License selection
PDF
Future Research Challenges in Software Evolution
PPTX
Dynamic Evolution and Reconfiguration of Software Architectures through Aspec...
PDF
PDF
Knowledge Collaboration by Mining Software Repositories
DOCX
V_Sound(Visualize Softwar and Understand the Document)
PDF
PROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDY
KEY
MexADL - HADAS Presentation
PDF
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
PDF
[2015/2016] Modern development paradigms
PDF
Feature Mining From a Collection of Software Product Variants
PDF
MSR 2013 Preview
Modern development paradigms
Rhapsody Software
Populating a Release History Database (ICSM 2013 MIP)
Evolutionary visual software analytics
Research software identification - Catherine Jones
A methodology to evaluate object oriented software systems using change requi...
[2016/2017] Modern development paradigms
TEFSE05.ppt
Versioning and License selection
Future Research Challenges in Software Evolution
Dynamic Evolution and Reconfiguration of Software Architectures through Aspec...
Knowledge Collaboration by Mining Software Repositories
V_Sound(Visualize Softwar and Understand the Document)
PROPERTIES OF A FEATURE IN CODE-ASSETS: AN EXPLORATORY STUDY
MexADL - HADAS Presentation
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
[2015/2016] Modern development paradigms
Feature Mining From a Collection of Software Product Variants
MSR 2013 Preview
Ad

More from Ra'Fat Al-Msie'deen (20)

PDF
Smart City: Definitions, Architectures, Development Life Cycle, Technologies,...
PDF
ScaMaha: A Tool for Parsing, Analyzing, and Visualizing Object-Oriented Softw...
PDF
ScaMaha: A Tool for Parsing, Analyzing, and Visualizing Object-Oriented Softw...
PDF
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
PDF
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
PDF
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
PDF
Supporting software documentation with source code summarization
PDF
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
PDF
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
PDF
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
PDF
Constructing a software requirements specification and design for electronic ...
PDF
Detecting commonality and variability in use-case diagram variants
PDF
Naming the Identified Feature Implementation Blocks from Software Source Code
PPTX
Application architectures - Software Architecture and Design
PPTX
Planning and writing your documents - Software documentation
PPTX
Requirements management planning & Requirements change management
PPTX
Requirements change - requirements engineering
PPTX
Requirements validation - requirements engineering
PPTX
Software Documentation - writing to support - references
PPTX
Algorithms - "heap sort"
Smart City: Definitions, Architectures, Development Life Cycle, Technologies,...
ScaMaha: A Tool for Parsing, Analyzing, and Visualizing Object-Oriented Softw...
ScaMaha: A Tool for Parsing, Analyzing, and Visualizing Object-Oriented Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Supporting software documentation with source code summarization
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Constructing a software requirements specification and design for electronic ...
Detecting commonality and variability in use-case diagram variants
Naming the Identified Feature Implementation Blocks from Software Source Code
Application architectures - Software Architecture and Design
Planning and writing your documents - Software documentation
Requirements management planning & Requirements change management
Requirements change - requirements engineering
Requirements validation - requirements engineering
Software Documentation - writing to support - references
Algorithms - "heap sort"
Ad

Recently uploaded (20)

PPTX
GDM (1) (1).pptx small presentation for students
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
A systematic review of self-coping strategies used by university students to ...
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Institutional Correction lecture only . . .
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Cell Structure & Organelles in detailed.
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Complications of Minimal Access Surgery at WLH
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
GDM (1) (1).pptx small presentation for students
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Microbial diseases, their pathogenesis and prophylaxis
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
A systematic review of self-coping strategies used by university students to ...
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Institutional Correction lecture only . . .
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Anesthesia in Laparoscopic Surgery in India
Abdominal Access Techniques with Prof. Dr. R K Mishra
Cell Structure & Organelles in detailed.
Final Presentation General Medicine 03-08-2024.pptx
Microbial disease of the cardiovascular and lymphatic systems
O7-L3 Supply Chain Operations - ICLT Program
O5-L3 Freight Transport Ops (International) V1.pdf
Complications of Minimal Access Surgery at WLH
2.FourierTransform-ShortQuestionswithAnswers.pdf
VCE English Exam - Section C Student Revision Booklet

Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems

  • 1. Software Evolution and Maintenance — Software Evolution Understanding — Juana Approach “Automatic Extraction of Software Identifiers Map for Object-Oriented Software Systems” Ra'Fat Al-Msie'deen Department of Software Engineering, Faculty of IT, Mutah University, Mutah 61710, Karak, Jordan E-mail address: rafatalmsiedeen@mutah.edu.jo https://rafat66.github.io/Al-Msie-Deen/
  • 2. ➢ To cite this version: R. Al-Msie’deen and A. H. Blasi, “Software evolution understanding: Automatic extraction of software identifiers map for object-oriented software systems,” Journal of Communications Software and Systems, vol. 17, no. 1, pp. 20–28, 2021. [Online]. Available: https://jcoms.fesb.unist.hr/10.24138/jcomss.v17i1.1093/
  • 3. Abstract Software companies usually develop a set of product variants within the same family that share certain functions and differ in others. Variations across software variants occur to meet different customer requirements. Thus, software product variants evolve overtime to cope with new requirements. A software engineer who deals with this family may find it difficult to understand the evolution scenarios that have taken place over time. In addition, software identifier names are important resources to understand the evolution scenarios in this family. This paper introduces an automatic approach called Juana’s approach to detect the evolution scenario across two product variants at the source code level and identifies the common and unique software identifier names across software variants source code. Juana’s approach refers to common and unique identifier names as a software identifiers map and computes it by comparing software variants to each other. Juana considers all software identifier names such as package, class, attribute, and method. The novelty of this approach is that it exploits common and unique identifier names across the source code of software variants, to understand the evolution scenarios across software family in an efficient way. For validity, Juana was applied on ArgoUML and Mobile Media software variants. The results of this evaluation validate the relevance and the performance of the approach as all evolution scenarios were correctly detected via a software identifiers map.
  • 4. Index Terms ✓Software Engineering ✓Software Evolution ✓Software Identifiers Map ✓Formal Concept Analysis ✓Software Product Variant
  • 5. Introduction • Juana’s approach identifies the common and unique software identifier names between two Object-Oriented (OO) software variants. • The common software identifiers are present in two software variants. • Furthermore, the unique software identifiers have presented in one software variant, while absent in another one. • Juana computes common and unique software identifier names by comparing software variants to each other. • However, the final result of Juana is the software identifiers map, which is a visual presentation of software variant identifier names, presented the common and unique identifier names between two product variants. Juana
  • 6. Introduction … • The novelty of Juana is that it exploits all software identifier names of product variants to identify the common and unique identifier names across those variants. • Juana separates the identifiers of two product variants into two subsets, the common identifiers set, and the unique identifiers set. • Indeed, common identifier names appear in all variants, while the unique identifier names appear in one variant but not all variants. • Manual reverse engineering of common and unique identifier names for software product variants is a tedious process, time consuming, and needs large efforts. Supporting this process would be of great aid.
  • 8. Product variant A Extracting the software identifiers 1 The software identifiers file A The software identifiers file B Identifying the common and unique identifier names 2 The common identifier names The unique identifier names Product variant B Inputs Software identifiers map Software developers Output Common Unique Unique &
  • 9. The common and unique identifiers of two product variants
  • 10. Product A Product B Legend The common identifier names The unique Identifier names
  • 13. The Software Identifiers Map Extraction Process A. Extracting the Software Identifiers B. Identifying the Common and Unique Identifier Names
  • 15. Case studies • To validate the proposed approach, experiments ran on two real case studies: the mobile media [22] and ArgoUML [23]. • Mobile media software is a Java-based open-source application that manipulates media on mobile devices. • ArgoUML is a Java-based open-source software. ArgoUML tool includes support for all standard UML diagrams.
  • 26. Conclusion • This paper focused on detecting common and unique software identifier names of software product variants realized via code cloning. • Juana’s approach aimed to find those identifier names that are present in one variant of the software and absent in another. • The software family is usually well documented but detecting the common and unique identifier names in a given software variant still a challenging task and imprecise in many cases. • In this paper, Juana’s approach was based on FCA to identify the common and unique identifiers from the OO source code of two software product variants. • In fact, developers can use this approach to understand the changes that have occurred during program evolution. Juana
  • 27. Conclusion … • The novelty of Juana is the exploiting of software identifier names to understand the software evolution scenarios across the product family. • The proposed approach was applied to three case studies, and the results proved the validity and accuracy in identifying the changes that occurred during program evolution by comparing the result of Juana with available documents for each case study.
  • 28. Future Work • For future work, Juana’s approach will be extended by comparing more than two software variants to identify common and unique software identifier names. • Also, Juana’s approach plans to apply the tag cloud visualization technique [32 – 34, 47] on common and unique identifier name blocks to present the most frequent words in those blocks to software engineers.
  • 30. • http://code.google.com/p/erca/ • https://sdqweb.ipd.kit.edu/wiki/SPLevo/Case_Studies/ArgoUML-SPL • http://www.ic.unicamp.br/~tizzei/mobilemedia/ • https://sites.google.com/site/ralmsideen/tools • https://www.ifi.uzh.ch/en/seal/research/tools/changeDistiller.html ❖ All references: [1] R. Al-Msie’deen and Anas H. Blasi, “The impact of the object-oriented software evolution on software metrics: The iris approach,” Indian Journal of Science and Technology, vol. 11, no. 8, pp. 1–8, 2018, DOI: 10.17485/ijst/2018/v11i8/121148. - - - [48]
  • 31. Juana Approach: Software Evolution and Maintenance — Software Evolution Understanding
  • 33. Software Evolution and Maintenance — Software Evolution Understanding — Juana Approach “Automatic Extraction of Software Identifiers Map for Object-Oriented Software Systems” Ra'Fat Al-Msie'deen Department of Software Engineering, Faculty of IT, Mutah University, Mutah 61710, Karak, Jordan E-mail address: rafatalmsiedeen@mutah.edu.jo https://rafat66.github.io/Al-Msie-Deen/