Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Feature Location for Multi-Layer System Based on Formal Concept Analysis
1. Feature Location for Multi-Layer System
Based on Formal Concept Analysis
Hiroshi Kazato†1
Shinpei Hayashi†2
Satoshi Okada†1
Shunsuke Miyata†1
Takashi Hoshino†1 †1 NTT Cyber Space Laboratories
Motoshi Saeki†2 †2 Tokyo Institute of Technology
2. Mo#va#on
• In
mul#-‐layer
systems,
implementa#on
of
feature
is
o6en
sca8ered
across
the
applica#on
• Loca#ng
features
in
mul#-‐layer
systems
(e.g.
web
applica#ons)
poses
a
new
challenge
[Marcus
2005]
[Dilshener
2011]
[Marcus 2005] Marcus et al.: “Static techniques for concept location in object-oriented code”, In Proc. of
IWPC 2005, pp.33-42, 2005.
[Dilshener 2011] Dilshener et al.: “Relating developers concepts and artefact vocabulary in a financial
software module”, In Proc. of ICSM 2011, pp. 412-417, 2011
3. Related
Work
• Semi-‐automa#c
FL
based
on
formal
concept
analysis
of
execu#on
traces
[Eisenbarth
2003]
({u1,
u2,
u3,
u4,
u5,
u6,
u7},
ø)
Computa#onal
Unit
Features
(Methods
or
Func#ons)
({u2,
u4,
u5,
u7},
{s2})
({u1,
u4,
u6,
u7},
{s1})
({u3,
u5,
u6,
u7},
{s3})
f1
f2
f3
u1
u2
u3
u4
u5
u6
u7
s
✔
1
✔ ✔
✔
✔ ✔
({u4,
u7},
{s1,
s2})
({u5,
u7},
{s2,
s3})
s
✔ ✔
2
✔
✔ ✔
✔
s
3 ✔ ✔
✔
✔ ✔ ✔
({u6,
u7},
{s1,
s3})
({u7},
{s1,
s2,
s3})
[Eisenbarth 2003] Eisenbarth et al. : Locating Features in Source Code, IEEE TSE, 29(3) 210-224, 2003.
4. Our
Goal
• Locate
collabora#on
which
realizes
features,
composed
of
various
kinds
of
program
element
in
a
mul#-‐layer
system
E xis#ng
Pro posed
Feature
1
nique
Tech nique
Tech Page
1
Feature
1
Method
1
Method
1
Method
2
Method
2
Method
3
Method
3
…
Table
1
Concept
Concept
…
La^ce
La^ce
5. Overview
of
the
Proposed
Technique
• Conduct
dynamic
analysis
separately
for
each
layers
• Interrelate
observed
elements
by
FCA
Concept
S
L0
L1
L2
L3
La^ce
(Scenarios)
(Features)
Presenta#on
Applica#on
Data
f1
s1
f1
p11
p21
p31
Browse
/index.shtml
CatalogService.
PRODUCT
p21
Analyst
Category
init()
p11
p31
s2
p22
f2
p12
p22
p32
f3
p13
...
p23
p33
f2
...
p14
p24
p34
sl
p12
p23
p32
fm
...
...
...
Prepareing
Extrac#ng
Execu#on
Traces
of
FL
using
Formal
Applying
FCA
Scenarios
Each
Layer
Concepts
6. Example:
iBATIS
JPetStore
5.0
• Reference
applica#on
of
Java
EE
– e-‐commerce
system
• Three
layers
– L1:
Presenta#on
– L2:
Applica#on
– L3:
Data
7. Usecases
of
JPetStore
362 CHAPTER 11 ARCHITECTURE OF THE SAMPLE APPLICATION
Search Catalog
Browse Categories
Browse Catalog
Browse Product Details
Browse Item Details
Update Shopping Cart
Sign On and Off
customer
Update Account
Update Personalization
<<include>> Send Purchase Order
Submit Order to Order Fulfillment Center
Singh et al.: “Designing Enterprise Applications with the J2EE Platform, Second Edition”, Prentice Hall, 2002, Figure 11.5
Figure 11.5 Use Cases between Customer and Web Site
15. Discussion
• Advantages
to
exis#ng
FLTs
– Incorporate
different
kinds
of
elements
into
FL
• Flexibility
to
mul#-‐layer
systems
– Independent
from
the
number
and
combina#on
of
layers
• Understanding
complicated
concepts
– Concepts
may
contain
many
elements
– Metrics
and/or
visualiza#on
of
program
elements
contained
in
those
concepts
may
help
16. Conclusion
• Proposed
a
semi-‐automa#c
technique
to
locate
features
in
a
mul#-‐layer
system
– by
extending
exis#ng
technique
based
on
FCA
and
dynamic
analysis
• Showed
the
feasibility
– by
applying
it
to
the
example
of
web
applica#on
based
on
typical
three-‐layer
architecture
of
Java
EE