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

THEEMPERORRAFAT 46 views 33 slides Sep 04, 2024
Slide 1
Slide 1 of 33
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33

About This Presentation

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 s...


Slide Content

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: [email protected]
https://rafat66.github.io/Al-Msie-Deen/

➢Tocitethisversion:
R.Al-Msie’deenandA.H.Blasi,“Softwareevolutionunderstanding:
Automaticextractionofsoftwareidentifiersmapforobject-oriented
softwaresystems,”JournalofCommunicationsSoftwareandSystems,
vol.17,no.1,pp.20–28,2021.[Online].Available:
https://jcoms.fesb.unist.hr/10.24138/jcomss.v17i1.1093/

Abstract
Softwarecompaniesusuallydevelopasetofproductvariantswithinthe
samefamilythatsharecertainfunctionsanddifferinothers.Variations
acrosssoftwarevariantsoccurtomeetdifferentcustomerrequirements.
Thus,softwareproductvariantsevolveovertimetocopewithnew
requirements.Asoftwareengineerwhodealswiththisfamilymayfindit
difficulttounderstandtheevolutionscenariosthathavetakenplaceover
time.Inaddition,softwareidentifiernamesareimportantresourcesto
understandtheevolutionscenariosinthisfamily.
ThispaperintroducesanautomaticapproachcalledJuana’sapproachto
detecttheevolutionscenarioacrosstwoproductvariantsatthesource
codelevelandidentifiesthecommonanduniquesoftwareidentifiernames
acrosssoftwarevariantssourcecode.Juana’sapproachreferstocommon
anduniqueidentifiernamesasasoftwareidentifiersmapandcomputesit
bycomparingsoftwarevariantstoeachother.Juanaconsidersallsoftware
identifiernamessuchaspackage,class,attribute,andmethod.
Thenoveltyofthisapproachisthatitexploitscommonandunique
identifiernamesacrossthesourcecodeofsoftwarevariants,tounderstand
theevolutionscenariosacrosssoftwarefamilyinanefficientway.For
validity,JuanawasappliedonArgoUMLandMobileMediasoftware
variants.Theresultsofthisevaluationvalidatetherelevanceandthe
performanceoftheapproachasallevolutionscenarioswerecorrectly
detectedviaasoftwareidentifiersmap.

Index Terms
✓Software Engineering
✓Software Evolution
✓Software Identifiers Map
✓Formal Concept Analysis
✓Software Product Variant

Introduction
•Juana’sapproachidentifiesthecommonand
uniquesoftwareidentifiernamesbetweentwo
Object-Oriented(OO)softwarevariants.
•Thecommonsoftwareidentifiersarepresentin
twosoftwarevariants.
•Furthermore,theuniquesoftwareidentifiers
havepresentedinonesoftwarevariant,while
absentinanotherone.
•Juanacomputescommonanduniquesoftware
identifiernamesbycomparingsoftwarevariants
toeachother.
•However,thefinalresultofJuanaisthesoftware
identifiersmap,whichisavisualpresentationof
softwarevariantidentifiernames,presentedthe
commonanduniqueidentifiernamesbetween
twoproductvariants.
Juana

Introduction …
•Thenovelty 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 identifiers1
The software identifiers file AThe software identifiers file B
Identifying the common and unique identifier names2
The common identifier namesThe unique identifier names
Product variant B
Inputs
Software identifiers map
Software developers
Output
Common
UniqueUnique
&

The common and
unique identifiers of
two product variants

Product A
Product B
Legend
The common identifier names
The unique Identifier names

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.

Evaluation
Metrics

Juana
Juana

Conclusion
•Thispaperfocusedondetectingcommonand
uniquesoftwareidentifiernamesofsoftware
productvariantsrealizedviacodecloning.
•Juana’sapproachaimedtofindthoseidentifier
namesthatarepresentinonevariantofthe
softwareandabsentinanother.
•Thesoftwarefamilyisusuallywelldocumented
butdetectingthecommonanduniqueidentifier
namesinagivensoftwarevariantstilla
challengingtaskandimpreciseinmanycases.
•Inthispaper,Juana’sapproachwasbasedon
FCAtoidentifythecommonandunique
identifiersfromtheOOsourcecodeoftwo
softwareproductvariants.
•Infact,developerscanusethisapproachto
understandthechangesthathaveoccurred
duringprogramevolution.
Juana

Conclusion …
•ThenoveltyofJuanaistheexploitingofsoftwareidentifiernamesto
understandthesoftwareevolutionscenariosacrosstheproduct
family.
•Theproposedapproachwasappliedtothreecasestudies,andthe
resultsprovedthevalidityandaccuracyinidentifyingthechanges
thatoccurredduringprogramevolutionbycomparingtheresultof
Juanawithavailabledocumentsforeachcasestudy.

Future Work
•Forfuturework,Juana’sapproachwillbe
extendedbycomparingmorethantwo
softwarevariantstoidentifycommonand
uniquesoftwareidentifiernames.
•Also,Juana’sapproachplanstoapplythe
tagcloudvisualizationtechnique[32–34,
47]oncommonanduniqueidentifier
nameblockstopresentthemostfrequent
wordsinthoseblockstosoftware
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 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: [email protected]
https://rafat66.github.io/Al-Msie-Deen/