ConcernLines: A timeline view of co-occurring concerns
2009 IEEE 31st International Conference on Software Engineering (2009)
- ISSN: 02705257
- ISBN: 9781424434534
- DOI: 10.1109/ICSE.2009.5070559
Available from ieeexplore.ieee.org
or
Abstract
Understanding the evolution of a software system requires understanding how information about the release history, non-functional requirements and project milestones relates to functional requirements on the software components. This short paper describes a new tool, called CONCERNLINES, that supports this cognitive process by visualizing co-occurring concerns over time.
Page 1
ConcernLines: A timeline view of co-occurring concerns
CONCERNLINES: A Timeline View of co-occurring Concerns
Christoph Treude, Margaret-Anne Storey
Dept. of Computer Science, University of Victoria
ctreude@uvic.ca, mstorey@uvic.ca
Abstract
Understanding the evolution of a software system re-
quires understanding how information about the release
history, non-functional requirements and project milestones
relates to functional requirements on the software compo-
nents. This short paper describes a new tool, called CON-
CERNLINES, that supports this cognitive process by visual-
izing co-occurring concerns over time.
1. Introduction and Motivation
Software development processes are among the most
complicated tasks performed by humans. Understanding
their evolution is a prerequisite for efficient management,
process improvements, and the integration of members into
development teams. Gaining high level evolutionary infor-
mation about large software systems is a key challenge in
dealing with increasing complexity and decreasing software
quality [5]. While several tools for evolutionary informa-
tion at the source code level have been proposed, research
on the visualization of process related information over time
is limited. However, process understanding has been iden-
tified as an important aspect of software maintenance [19].
One way to understand and explore software evolution is
through concerns. According to IEEE, concerns “are those
interests which pertain to the system’s development, its op-
eration or any other aspects that are critical or otherwise
important to one or more stakeholders” [7]. There are dif-
ferent dimensions of potentially overlapping concerns [11],
ranging from process-related issues such as milestone re-
leases to requirements such as usability. Determining rele-
vant concerns as the system evolves is not always easy.
In our previous work [17], we discovered that developers
document relevant concerns using tags on change requests1.
Tags are user-defined keywords that in this case document
and relate process-related, cross-cutting, and component-
specific concerns to the change requests. Our goal during
1Depending on the development environment, change requests are also
known as bug reports, modification requests, or work items.
this study was to explore how developers tag change re-
quests. To facilitate our exploration of how developers tag
using concerns, we created the CONCERNLINES tool. We
used the tool to create timelines of how concerns emerged
and co-occurred over time. These timelines were shown
during interviews with developers to elicit more in depth
insights on how tags were used for describing concerns dur-
ing system development.
The feedback we received from the developers indicated
that a tool for viewing information on co-occurring con-
cerns can be very useful. For example, developers wanted
to answer questions such as: Which components played a
key role during the last beta release? Which non-functional
requirements co-occurred with work on the user interface?
Which components were affected by the improvements on
user experience? Their reaction to the tool and their sugges-
tions for enhancements prompted us to further extend it so
that developers could also use it during development to un-
derstand the emergence of co-occurring concerns over time.
CONCERNLINES visualizes the evolution and relevance
of concerns over the lifetime of a software project and en-
ables the identification of co-occurring concerns. It displays
the evolution in a snapshot, using horizontal timelines for
individual concerns and mapping the relevance of concerns
(e.g. determined through frequency of tag occurrences) onto
colour intensities. Co-occurrences can be identified by piv-
oting on one concern in a selected time range.
Although it may seem challenging to determine which
concerns are relevant at given points in a system’s evolu-
tion, there are various data sources that can be mined to de-
termine concerns, e.g. source code, source code comments,
JavaDoc, CVS commits, change requests or email commu-
nication. Even though CONCERNLINES uses a generic in-
terface to allow the visualization of concerns extracted from
any of these various sources, in this paper we focus on the
visualization of concerns derived from change request tags.
The remainder of this paper is structured as follows. Re-
lated work is summarized in Section 2 and the tool is de-
scribed in detail in Section 3. We then present example sce-
narios in Section 4 and conclude in Section 5.
ICSE’09, May 16-24, 2009, Vancouver, Canada
978-1-4244-3452-7/09/$25.00 © 2009 IEEE 575
Christoph Treude, Margaret-Anne Storey
Dept. of Computer Science, University of Victoria
ctreude@uvic.ca, mstorey@uvic.ca
Abstract
Understanding the evolution of a software system re-
quires understanding how information about the release
history, non-functional requirements and project milestones
relates to functional requirements on the software compo-
nents. This short paper describes a new tool, called CON-
CERNLINES, that supports this cognitive process by visual-
izing co-occurring concerns over time.
1. Introduction and Motivation
Software development processes are among the most
complicated tasks performed by humans. Understanding
their evolution is a prerequisite for efficient management,
process improvements, and the integration of members into
development teams. Gaining high level evolutionary infor-
mation about large software systems is a key challenge in
dealing with increasing complexity and decreasing software
quality [5]. While several tools for evolutionary informa-
tion at the source code level have been proposed, research
on the visualization of process related information over time
is limited. However, process understanding has been iden-
tified as an important aspect of software maintenance [19].
One way to understand and explore software evolution is
through concerns. According to IEEE, concerns “are those
interests which pertain to the system’s development, its op-
eration or any other aspects that are critical or otherwise
important to one or more stakeholders” [7]. There are dif-
ferent dimensions of potentially overlapping concerns [11],
ranging from process-related issues such as milestone re-
leases to requirements such as usability. Determining rele-
vant concerns as the system evolves is not always easy.
In our previous work [17], we discovered that developers
document relevant concerns using tags on change requests1.
Tags are user-defined keywords that in this case document
and relate process-related, cross-cutting, and component-
specific concerns to the change requests. Our goal during
1Depending on the development environment, change requests are also
known as bug reports, modification requests, or work items.
this study was to explore how developers tag change re-
quests. To facilitate our exploration of how developers tag
using concerns, we created the CONCERNLINES tool. We
used the tool to create timelines of how concerns emerged
and co-occurred over time. These timelines were shown
during interviews with developers to elicit more in depth
insights on how tags were used for describing concerns dur-
ing system development.
The feedback we received from the developers indicated
that a tool for viewing information on co-occurring con-
cerns can be very useful. For example, developers wanted
to answer questions such as: Which components played a
key role during the last beta release? Which non-functional
requirements co-occurred with work on the user interface?
Which components were affected by the improvements on
user experience? Their reaction to the tool and their sugges-
tions for enhancements prompted us to further extend it so
that developers could also use it during development to un-
derstand the emergence of co-occurring concerns over time.
CONCERNLINES visualizes the evolution and relevance
of concerns over the lifetime of a software project and en-
ables the identification of co-occurring concerns. It displays
the evolution in a snapshot, using horizontal timelines for
individual concerns and mapping the relevance of concerns
(e.g. determined through frequency of tag occurrences) onto
colour intensities. Co-occurrences can be identified by piv-
oting on one concern in a selected time range.
Although it may seem challenging to determine which
concerns are relevant at given points in a system’s evolu-
tion, there are various data sources that can be mined to de-
termine concerns, e.g. source code, source code comments,
JavaDoc, CVS commits, change requests or email commu-
nication. Even though CONCERNLINES uses a generic in-
terface to allow the visualization of concerns extracted from
any of these various sources, in this paper we focus on the
visualization of concerns derived from change request tags.
The remainder of this paper is structured as follows. Re-
lated work is summarized in Section 2 and the tool is de-
scribed in detail in Section 3. We then present example sce-
narios in Section 4 and conclude in Section 5.
ICSE’09, May 16-24, 2009, Vancouver, Canada
978-1-4244-3452-7/09/$25.00 © 2009 IEEE 575
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime
Start using Mendeley in seconds!
Readership Statistics
9 Readers on Mendeley
by Discipline
by Academic Status
78% Ph.D. Student
11% Other Professional
11% Researcher (at a non-Academic Institution)
by Country
22% United States
22% Canada
11% Japan


