The document discusses context-aware software engineering and maintenance using the FastFix approach. It presents FastFix as a way to model context as events involving user interactions with applications and artifacts. FastFix monitors this context to identify software errors and generate patches by correlating events. The approach aims to reduce software maintenance costs for companies and avoid annoying errors for users. It outlines modeling context, applications of context-aware tools, and research challenges in fully realizing the approach.
2. Summary
of
the
Talk
1
We
model
context
as
a
set
of
events
including
the
interacIon
of
users
with
the
applica?ons
and
the
concerned
arIfacts
2
We
dis?nguish
between
short
term
context
(work
sessions,
intenIons,
problems)
and
long
term
context
(user
experience)
3
Our
research
is
mo?vated
by
so.ware
engineering
work,
but
can
be
easily
extended
to
general
knowledge
work
Maalej,
June.
2011
FastFix
Context
Approach
2
3. Outline
1
MoIvaIon
2
Context
Model
3
ApplicaIons
4
Research
Challenges
Maalej,
June.
2011
FastFix
Context
Approach
3
4. For
Companies:
Reduce
So.ware
Maintance
Costs
(Schach,
2008):
Most
of
the
effort
and
cost
is
spent
on
post-‐delivery
maintenance
based
on
various
data
sources
Average
cost
1976
-‐1981
Average
cost
1992
-‐
1998
33%
25%
Development
67% Development
Maintenance
Maintenance
75%
More
than
90%
of
companies
resources
dedicated
to
soPware
maintenance
(Erlikh,
2000,
IT
Pro)
Maalej,
June.
2011
FastFix
Context
Approach
4
6. FastFix:
Monitoring
Context
for
Remote
So.ware
Maintenance
U
ser
User
User
A
pplica?on
Applica?on
Applica?on
FastFix
Client
FastFix
Server
1:
interact
2:
monitor
3:
iden?fy
errors
4
op?onal:
ask
for
feedback
5:
preprocess
6:
securely
report
7:
replicate
errors
8:
correlate
events
9:
generate
patch
10:
update
11:
self-‐heal
12
op?onal:
inform
Maalej,
June.
2011
17.06.2011
6
7. Outline
1
MoIvaIon
2
Context
Model
3
ApplicaIons
4
Research
Challenges
Maalej,
June.
2011
FastFix
Context
Approach
7
8. Sources
of
Context
InformaIon
in
FastFix
Context
User Application Environment
Maalej,
June.
2011
FastFix
Context
Approach
8
9. A
Context
Aware
Model
of
Knowledge
Work
Environment
Work
Applica?on
Change
Context
Performed in User
Short-‐term
Context
Long-‐term
Context
Interac?on
concerns
Inten?on
Problem
Experience
Ar?fact
Maalej,
June.
2011
FastFix
Context
Approach
9
11. A
Scratch
of
Context-‐Aware
Tools
Addi?onal
feedback
RecommendaIon
Tool
Interac?on
interact
trigger
Ontoloy
Context
Observer
problem
problem
Problem
ApplicaIon
sensors
ElicitaIon
events
Session-‐
izaIon
Execu?on
OS
ExecuIon
Env.
Ontology
sensors
sensors
update
User
Profile
Maalej,
June.
2011
FastFix
Context
Approach
11
12. Ontologies
Define
the
SemanIcs
of
So.ware
Engineering
Work
concerns
Interac?on
Ar?fact
has
type
has
type
Change
Tool
Class
Read
Other
interac?on
and
Other
ar?fact
Test
Use
Model
types
Email
ac?vity
types
Debug
Specify
Request
Method
Ref:
[Maalej,
MSR’10]
Maalej,
June.
2011
FastFix
Context
Approach
12
13. Type
Inference
for
InteracIons
&
ArIfacts
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
Maalej,
June.
2011
FastFix
Context
Approach
13
14. Short Term
Developer’s
Work:
From
InteracIons
to
IntenIons
Assist
Colleague
on
?
Reusing
Component
C
Fix
Table
Rendering
Bug
?
InteracIon
Current
Granularity
IntenIon
Task
T1:
Implement
XML
Export
Session
Work
Session
1
Work
Session
2
Work
Session
3
Work
Session
4
…
Seman?c
Read Reuse
Impl.
Read
Bug
Seek
Debug
Impl. Test
Close
…
Chat
…
…
interac?on
Task Lib
Class
Report
Info
App Met App Bug
h
Interac?on
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 ist Classpath Method
X
Method
b
Task
Method
a T
URL
b URL
L
Task
Class
URL
Breakpoint Method
x Method
y
Time
Maalej,
June.
2011
FastFix
Context
Approach
14
15. AggregaIon
and
Filtering
of
Context
Long Term
(Simplified
Formula)
Experience
with
a
The
more
frequent
we
The
longer
we
use
an
par?cular
ar?fact
interact
with
an
ar?fact,
the
ar?fact,
the
more
more
experience
we
have
experience
we
have
with
it
with
it
Frequency
DuraIon
Experience
Age
The
older
the
interac?on
with
the
ar?fact,
the
less
experience
we
have
with
it
Ref:
[Maalej,
RSSE
2010]
Maalej,
June.
2011
FastFix
Context
Approach
15
16. Long Term
Experience
Meta
Model
Maalej,
June.
2011
FastFix
Context
Approach
16
17. FastFix
Model
for
Context
ElicitaIon
Maalej,
June.
2011
FastFix
Context
Approach
17
18. Outline
1
MoIvaIon
2
Context
Model
3
ApplicaIons
4
Research
Challenges
Maalej,
June.
2011
FastFix
Context
Approach
18
19. ApplicaIons
of
Context-‐Awareness
Traceability and Tool Integration
(Semi) automatic linking of development artefacts and tool
functionalities
Information Allocation Personal Productivity Management
Filtering of search results and Control and optimization of
extension of queries (semantic search) development time and space
Knowledge Sharing Awareness Creation
A proactive capturing and Context Dissemination of status and
sharing of experiences Aware priority information
Development
Infrastructures
Uses of context of assist developers in these tasks and increase productivity
Maalej,
June.
2011
Context-‐Aware
Development
Infrastructures
19
20. Organize
Work
by
Using
Task
Context
(IntenIons)
Fix Bug In XML Export Prepare My Talk at Powerset
Process Bank Transactions Experiment the iPhone SDK
• You don’t have to predefine tasks
• Your tasks are discovered automatically during the actual work
Maalej,
June.
2011
Context-‐Aware
Development
Infrastructures
20
21. Tracing
Related
ArIfacts
from
IntenIon
Details
(in
MacIntent)
Maalej,
June.
2011
FastFix
Context
Approach
21
22. SemanIc
Search
for
Distributed
InformaIon
(in
WinIntent)
Maalej,
June.
2011
FastFix
Context
Approach
22
24. FastFix
Error
Handling
Strategies
Recommend
error report
Generate
Recordable symptoms error report
FastFix
focus
Replicate
fault
Show
Error complexity
Reproducible error context
information
Recommend
causes to
engineer
Inform user
Known causes about
error causes
Recommend
solution to
engineer
Recommend
Known solution fix to user
Generate
Patch
Automatically resolvable Self-heal
Maalej,
June.
2011
Strategy complexity
25. Detect
and
Describe
Error
SituaIons
FastFix Error Reporting
The application MOSKitt quit unexpectedly.
FastFix will send an error report to the maintenance
center that includes information necessary to fix the
problem as soon as possible. Your personal data will
not be contained in the report.
Once a fix for the problem is identified it will be
automatically sent to you.
Steps to reproduce:
1. Open MOSKitt
2. Import data file (file data obfuscated)
3. Click button named “btn_Transform”
Send
Maalej,
June.
2011
FastFix
Context
Approach
25
26. Context
Augmented
Fault
ReplicaIon
GUI Replay Context
MOSKitt User Interface: Graphical Context View:
User Application Both
Granularity
level
+ A1
B1
C1 C2
-
Search: Graphic Text
Fault Replay
Use these elements to control the fault replay.
Back Play Forward Stop Step In Step Out
Maalej,
June.
2011
FastFix
Context
Approach
26
27. Context
Augmented
Debugging
Condition Position
CPU Load > 75 % Line 4
User Type = Beginner Line 159
NONE Line 13
Context View:
Granularity User Application Both
level
+ +
A1
B1
Fault Replay
Use these elements to control the fault replay.
C1 C2
--
Back Play Forward Stop Step In Step Out
Maalej,
June.
2011
FastFix
Context
Approach
27
28. Error
Cause
and
Error
SoluIon
RecommendaIon
Unhandled Exception in MOSKitt (Automatic Report)
FastFix component
Similar Error Reports Recommendation (FastFix)
Unhandled Exception, org.moskitt.transform,
btn_Transform
FastFix recommends the following similar error reports:
1. Ticket #123: Unhandled Exception in MOSKitt (Automatic Report) - 95% - ASSIGNED
2. Ticket #47: Moskitt crashed while I was importing a model - 67% - CLOSED (FIXED)
3. Ticket #98: Unhandled exception - 65% - ASSIGNED
FastFix Error Report Recommendation
Error Cause Recommendation (FastFix)
Cause Probability
Third party component failure 98% Show solution...
Usability failure 45% Show solution...
Configuration error 12% Show solution...
Maalej,
June.
2011
FastFix
Context
Approach
28
FastFix Error Cause Recommendation
29. Error
Cause
and
Error
SoluIon
RecommendaIon
Control
System behavior of method1:
Error Cause Detected in method1
Self-Heal: Auto-Create Control Objective
Import Control Objective
Objectives
Self-Healing Control Objective
preventing method5:
5
Any event but method1
Maalej,
June.
2011
FastFix
Context
Approach
29
30. Outline
1
MoIvaIon
2
Conceptual
Model
3
ApplicaIons
4
Research
Challenges
Maalej,
June.
2011
FastFix
Context
Approach
30
31. Challenges
of
Context
Awareness
Efficient
InstrumentaIon
How
can
heterogeneous
Privacy
ProtecIon
Context
Modeling
tools
be
efficiently
How
can
we
protect
users’
How
can
we
model
abstract
instrumented?
privacy
while
collec?ng
no?on
of
context
to
support
sensi?ve
informa?on?
What
unique
scenarios?
What
is
Major
research
are
acceptable
trade-‐offs?
part
of
the
context?
challenges
on
context-‐
Context
RepresentaIon
AggregaIon
and
Processing
awareness
Can
we
efficiently
represent
How
can
we
aggregate
data
and
knowledge
and
Context
context
for
different
levels
of
enable
reasoning
and
SessionizaIon
granularity?
Can
we
measure
seman?c
interpreta?on?
and
compare
subjec?ve
How
can
we
“package”
context
like
experience?
context
events?
How
can
a
context
switch
be
detected?
[Maalej,
Roadmap
2010]
Maalej,
June.
2011
FastFix
Context
Approach
31
32. For
more
informaIon
1. W
Maalej,
Inten?on-‐Based
Tool
Integra?on
of
SoPware
Engineering
Tools,
Dr.
Hut
Verlag
2010
(available
at
amazon.de)
2. W
Maalej
,
Task
First
or
Context
First?
Tool
Integra?on
Revisited.
In
Proceedings
of
the
24th
IEEE/ACM
Interna?onal
Conference
on
Automated
SoPware
Engineering,
2009
3. W.
Maalej
and
H-‐J
Happel,
Can
Development
Work
Describe
Itself?
In
Proceeding
of
6th
IEEE
Interna?onal
Conference
on
Mining
SoPware
Repositories,
2010
4. W
Maalej
et
al.
When
Users
Become
Collaborators,
In
OOPSLA
2009
Maalej,
June.
2011
FastFix
Context
Approach
32
34. Summary
of
the
Talk
1
We
model
context
as
a
set
of
events
including
the
interacIon
of
users
with
the
applica?ons
and
the
concerned
arIfacts
2
We
dis?nguish
between
short
term
context
(work
sessions,
intenIons,
problems)
and
long
term
context
(user
experience)
3
Our
research
is
mo?vated
by
so.ware
engineering
work,
but
can
be
easily
extended
to
general
knowledge
work
Maalej,
June.
2011
FastFix
Context
Approach
34
35. Contact
Dr.
Walid
Maalej
TUM
maalejw@cs.tum.edu
Maalej,
June.
2011
FastFix
Context
Approach
35
37. Today’s
Challenges
of
So.ware
Projects
Daily Change"
• Change in design, requirements
and project settings"
• Knowledge ages
2 Information Overload
quickly"
1 • Immense information
“Multiple” Distribution!
sources"
• Outsourcing, offshoring,
Four dynamic • Diverse and complex
open source, multi- and increasing technologies, frameworks
organizational projects" factors and requirements"
• Problems in coordination,
3
knowledge sharing "
• Problems in efficiency " 4
High Competition!
• Short “time to market”"
• Highest productivity, flexibility and
quality is required
Maalej,
June.
2011
FastFix
Context
Approach
37
38. Advantages
of
Using
SemanIc
Web
Technologies
Informa?on
mapping
Ontologies
facilitate
seman?c
mapping
of
heterogeneous
informa?on
Logical
constructs
defining
synonyms,
homonyms,
composites,
specializa?on
…
Advanced
querying
Inclusion
of
seman?cs,
inference-‐ability,
and
powerful
querying
constraints
Informal
evolu?on
of
knowledge
Post-‐structuring
of
informa?on
Unified
resource
iden?fica?on
URIs
have
a
global
scope
URIs
support
mul?ple
versions
and
representa?ons
of
a
resource
Defacto
Standards
Largely
adopted
by
the
industry
Maalej,
June.
2011
FastFix
Context
Approach
38
39. Short Term
What
is
Context?
Used Artifacts
Developer’s Changed
Work Session
Interactions Artifacts
Read Artifacts
Context is the set of all events and information, which can be
observed or interpreted during knowledge work, except those
events and pieces of information that constitute the change
Maalej,
June.
2011
FastFix
Context
Approach
39
40. What
are
IntenIons?
cause
Inten?on
An
inten?on
is
a
context
object
that
describes:
The
conscious
striving
towards
a
work
goal
The
goal
itself,
being
the
output
of
the
work
Inten?ons
underlay
a
causal
model
Maalej,
June.
2011
FastFix
Context
Approach
40