Contenu connexe
Similaire à Intention-Based Integration of Software Engineering Tools
Similaire à Intention-Based Integration of Software Engineering Tools (20)
Plus de Walid Maalej (20)
Intention-Based Integration of Software Engineering Tools
- 2. Summary
1
We
found
empirical
evidence
that
poor
tool
integra4on
is
a
barrier
for
developers’
produc4vity
2
We
use
developers’
inten4ons
during
work
to
group
changes
that
are
performed
in
different
tools
3
Our
inten4on‐based
integra4on
framework
(InTi)
automa4cally
associates
changes
to
their
context
4
InTi
increases
developers’
produc4vity
by
saving
4me
needed
to
retrieve
informa4on
and
switch
context
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
2
- 3. Outline
of
the
Talk
1
Mo%va%on
2
Analysis
of
Tool
Integra%on
3
Inten%on‐Based
Integra%on
Framework
4
Evalua%on
and
Outlook
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
3
- 5. A
Bug
Fixing
Scenario
Bug
report
in
the
issue
Source
code
in
the
tracker
debugger
API
documenta%on
in
Clarifica%ons
in
the
the
web
browser
email
client
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
5
- 6. A
Release
Planning
Scenario
Dependencies
in
a
Priori%es
in
a
modeling
tool
Requirements
tool
Schedule
in
a
Chat
with
client
in
management
tool
Skype
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
6
- 7. Outline
1
Mo%va%on
2
Analysis
of
Tool
Integra%on
3
Inten%on‐Based
Integra%on
Framework
4
Evalua%on
and
Outlook
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
7
- 8. Empirical
Study:
800
Developers,
2.5
Years
Phase
1
Phase
2
Exploratory,
Qualita%ve
Explanatory,
Quan%ta%ve
1
3
4
Face‐to‐face
interviews
to
determine
Field
integra4on
problems
and
needs
experiments
to
Online
survey
compare
to
quan%fy
suitability
of
2
the
state‐of‐
different
prac4ce
Analysis
of
project
ar4facts
to
integra4on
iden4fy
current
prac%ces
solu4ons
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
8
- 9. Requirements
for
Tool
Integra%on
1.
Support
for
Tools’
Heterogeneity
• Homogeneous
one‐tool
solu4ons
are
unapplicable
in
prac4ce
• Integra4on
aDempts
restricted
to
specific
tools
have
failed
• No
manual
explicit
synchroniza4on
tasks
• Ar4facts
are
constantly
changing
(e.g.
import/export)
• Workflow
is
constantly
interrupted
• Related
ar4facts
should
be
linked
automa4cally
2.
Support
for
Change
3.
Automa%c
Linking
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
9
- 10. Problems
Encountered
Due
to
Poor
Tool
Integra%on
Associate
changes
Retrieve
and
understand
a
to
cause
previous
change
Manual
and
unidirec4onal
Restore
past
changes
associa4on
in
text
according
to
logical
comments
Changes
should
be
criteria
grouped
together
and
linked
to
their
Share
context
in
context
Reproduce
context
communica%on
threads
of
a
previous
change
Communica4on
threads
are
not
Context
is
scaDered
linked
to
the
context
(e.g.
across
different
tools,
when
discussed
component)
con4nuing
postponed
work
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
10
- 11. How
would
you
Logically
Group
Changes
Performed
in
Different
Tools?
Others
By
project
phases
By
change
context
6%
5%
23%
By
components
13%
By
tasks
By
requirements
31%
22%
The
more
changes
and
interrup4ons
are
encountered,
the
more
oaen
tasks
and
context
are
preferred
to
organize
informa4on
Ref:
[Maalej,
ASE
2009]
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
11
- 12. Half
of
So1ware
Engineering
Work
is
not
Defined
in
Tasks
How
much
of
your
work,
is
explicitly
(pre‐)
defined
in
your
task
list?
60%
50%
48%
%
of
Respondants
40%
30%
25%
20%
18%
10%
5%
5%
%of
Defined
0%
Work
0
‐
10%
10
‐
30%
30
‐
60%
60
‐
90%
>90%
Need
for
automated
solu4on
(i.e.
iden4fy
and
describe
undefined
tasks)
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
12
- 13. Outline
1
Mo%va%on
2
Analysis
of
Tool
Integra%on
3
Inten%on‐Based
Integra%on
Framework
4
Evalua%on
and
Outlook
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
13
- 14. Developer’s
Work:
From
Interac%ons
to
Inten%ons
Assist
Colleague
on
?
Reusing
Component
C
Fix
Table
Rendering
Bug
?
Interac%on
Current
Granularity
Inten%on
Task
T1:
Implement
XML
Export
Session
Work
Session
1
Work
Session
2
Work
Session
3
Work
Session
4
…
Seman4c
Read Reuse
Impl.
Read
Bug
Seek
Debug
Impl. Test
Close
…
Chat
…
…
interac4on
Task Lib
Class
Report
Info
App Met App Bug
h
Interac4on
Use
Download
Edit
Copy
Paste
Open
Scroll
Edit
Import
Open
Add
Edit
Add
Step
into
Step
into
with
tools
Run ..Read Search .. ...
Write
Scroll
Tool
T1Library
L
Classpath Method
b Method
b
Task
List Task
T
URL
URL
Method
a
Class
X
URL
Breakpoint Method
x Method
y
Time
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
14
- 16. Func%onal
Requirements
of
the
InTi
Framework
• Sessionize
work
Manage
Inten%ons
• Resume
context
• Describe
inten4ons
InTI
Requirements
Retrieve
Organize
Informa%on
Informa%on
• Query
distributed
informa4on
• Automa4cally
link
ar4facts
• Navigate
related
ar4facts
• Annotate
ar4facts
with
metadata
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
16
- 17. Realiza%on
of
the
InTi
Framework
Func4onality
Enabler
• Metadata
management
Seman%c
Web
Technologies
• Types
of
ar4facts,
rela4onships…
• Unified
Resource
Iden4fier
• Advanced
querying
• Ontologies
• Work
Sessioniza%on
Context
Awareness
• Recogni4on
of
related
pieces
of
informa4on
• Context
elicita4on
• Inten%on
Descrip%on
• Context
aggrega4on
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
17
- 18. InTi
Ontologies
Define
the
Seman%cs
of
So1ware
Engineering
Work
concerns
Interac4on
Ar4fact
has
type
has
type
Change
Tool
Class
Read
Other
interac4on
and
Other
ar4fact
Test
Use
Model
types
Email
ac4vity
types
Debug
Specify
Request
Method
Ref:
[Maalej,
MSR’10]
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
18
- 21. Type
Inference
for
Interac%ons
&
Ar%facts
concerns
member
of
event
SayHello
HelloWord
rdf:type
rdf:type
rdf:type
Create
Method
Class
Method
concerns
event
HelloWord
rdf:type
rdf:type
rdf:type
Browse
Report
bug
Bug
Report
Web
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
21
- 23. Aggrega%on
and
Filtering
of
Context
(Simplified
Formula)
Relevance
of
context
The
more
frequent
the
The
longer
the
ar4fact
for
a
par4cular
interac4on
with
an
ar4fact,
is
used,
the
more
inten4on
the
more
relevant
it
is
relevant
it
is
Frequency
Dura%on
Relevance
Age
The
older
the
interac4on
with
the
ar4fact,
the
less
relevant
the
ar4fact
becomes
Ref:
[Maalej,
RSSE
2010]
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
23
- 24. Outline
1
Mo%va%on
2
Analysis
of
Tool
Integra%on
3
Inten%on‐Based
Integra%on
4
Evalua%on
and
Outlook
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
24
- 27. Empirical
Evalua%on
of
InTi
A
controlled
Measure
and
2
Industrial
case
experiment
compare
%me
studies
with
with
and
without
Bertelsmann
and
with
15
using
InTi
Equinux
(3
months
developers
each)
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
27
- 28. Conclusion:
InTI
Increases
Produc%vity
Associate
changes
Retrieve
and
understand
to
cause
previous
changes
89%
of
4me
saved
72%
of
4me
saved
A
developer
saves
6.3
hours
in
a
40h.
week
a
produc%vity
growth
of
18%
Share
context
in
Reproduce
context
communica%on
threads
of
previous
changes
47%
of
4me
saved
75%
of
4me
saved
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
28
- 29. Summary:
Problems
&
Proposed
Solu%ons
Inten4on
Metadata
Management
&
Seman4c
Web
Context
Management
Integrated
Search
Technologies
Awareness
Frequent
Inefficient
Manual
Heterogeneity
changes
and
seeking
of
informa4on
of
tools
and
workflow
distributed
associa4on
informa4on
interrup4ons
informa4on
InTi
increases
produc%vity
by
saving
%me
to
retrieve
informa%on
and
switch
context
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
29
- 30. For
more
informa%on
contact:
Walid
Maalej
TUM
maalejw@cs.tum.edu
www1.in.tum.de/walidmaalej
©
W.
Maalej,
July
2010
Inten%on‐Based
Tool
Integra%on
30