27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

shared repository and specialized code [6]. Open hypermedia<br />

adapters can also be used to create traceability links across tool<br />

boundaries [3]; we build upon th is technique to automatically<br />

capture traceability links. Information retrieval techniques may<br />

be used to address the explos ion of the artifact space [9, 11,<br />

15]. Finally, centrally managing all the artifacts in one tool<br />

[24] may be used to address traceability link maintenance.<br />

C. Social Perspective<br />

The social perspective has equally important challenges that<br />

arise from the interaction of stakeholders with traceability, such<br />

as differing e xpectations and low use r motivation. I t is<br />

recognized that people play a crucial part in deter mining the<br />

quality of traceability links [4, 15]. Be cause of diffe rent<br />

stakeholder expectations [13], it is difficult to create a general<br />

traceability tool that caters to these different stakeholders. This<br />

difficulty can be addressed by developing customized tools [6,<br />

26]. In addi tion, software engineers ge nerally have low<br />

motivation to perform traceability tasks [18]. Providing<br />

incentives to engineers or integrating traceability tasks into the<br />

development process may address these challenges [4, 6, 25].<br />

D. Perspectives Interplay<br />

We argue that the challenges from the economic, technical,<br />

and social perspectives are interrelated. As an exam ple, let us<br />

consider the following scenario. Because of the high cost of<br />

manually capturing traceability links, an organization may<br />

resort to automated techniques to ca pture traceability links<br />

(e.g., [11]). However, since automated techniques cannot<br />

achieve 100% accuracy [9], hum an analysts must still check<br />

the recovered traces, which can be tedious [15]. Since the<br />

number of tra ces to be exa mined can be high [20], manual<br />

checking could lead to additional overhead costs. Thus, simply<br />

addressing the challenges from one perspective is inadequate.<br />

III. ADDRESSING THE CHALLENGES WITH ACTS<br />

To holistically address the traceability challenges, we<br />

present Architecture-Centric Traceability for Stakeholders<br />

(ACTS). The key elements of ACTS are centering the links to<br />

the architecture, enabling stakeholders to trace artifacts that are<br />

of interest to them, and capturing links pr ospectively. We<br />

focus on addressing the challenges of the cost of capturing<br />

traceability links (ec onomic), ability to link across<br />

heterogeneous tools and art ifacts (technical), and low user<br />

motivation in performing traceability tasks (social).<br />

A. Architecture-Centric Traceability<br />

To address the technical challenges of tracing across<br />

heterogeneous artifacts, we chose to center the tracea bility<br />

links to the architecture, since it provides higher level concepts<br />

than the code [12] and it ha s a more rigorous representation<br />

than requirements [15]. T here is also an inherently c lose<br />

relationship between the architecture and other artifacts in<br />

software development: e.g., between r equirements and<br />

architecture [22], between architecture and source code [23],<br />

and between architecture and test cases [17]. Moreover, the<br />

architecture itself contains information that a ids in<br />

understanding the system and its related artifacts. The software<br />

architecture provides a comprehensive view of the system,<br />

enabling engineers to better understand the system in its<br />

entirety as well as in its indi vidual computational units. This<br />

understanding lends itself to understanding the traceability<br />

links from the architecture to the various software artifacts. It<br />

also aids in understanding the links across different syste m<br />

versions and across software product lines [16]. Links centered<br />

on the architecture can be updated to reflect system evolution.<br />

We define software architecture broadly, as the set of<br />

principal design decisions about a software system [28]. This<br />

definition implies that ever y software system has an<br />

architecture—some set of design decisions that were m ade in<br />

its development. Principal design decisions can be expressed<br />

as the system’s structure, functional behavior, interaction, and<br />

non-functional properties; this pa per focuses on decisions as<br />

expressed in the system ’s structure, e. g., the functional units,<br />

the mode of communication between the functional units, and<br />

the configuration of these units. These principal design<br />

decisions provide product-based concepts by which traceability<br />

can be anchored and supported.<br />

B. Stakeholder-driven Traceability<br />

To address the social challe nge of low motivation, we<br />

enable different stakeholders to bot h capture and use the<br />

traceability links they capture, which we call stakeholderdriven<br />

traceability. Stakeholders are indivi duals who ha ve a<br />

vested interest in capturing relationships between soft ware<br />

artifacts. Oftentim es, the stakeholder who captures the<br />

traceability links is not the sam e stakeholder who uses the<br />

links, causing a separation between the work and the incentive<br />

to perform the work [4]. We believe, however, that i t is<br />

imperative for stakeholders who invested time in capturing the<br />

traceability links to also be able to use the links.<br />

To achieve stakeholder-driven traceability, the tool support<br />

must satisfy th e following requirem ents. F irst, the tool m ust<br />

cater to varied stakeholder in terests in capturing traceabi lity<br />

links. For example, a requirements analyst may be interested in<br />

tracing high level to low level require ments while a<br />

maintenance engineer may be interested in tracing architecture<br />

to source code. Thus, the tool support must decouple the<br />

heuristics of deter mining the traceability links from the tool<br />

itself, to allow stakeholders to specify which artifacts to tr ace.<br />

Secondly, the tool m ust enable stakeholders to use the<br />

traceability links they captured. To be usable, the links should<br />

be accessible (i.e., traced artifact s are vie wable within the<br />

context of its native editor), updateable, and maintainable.<br />

C. Tracing Links Prospectively<br />

To address the economic challenge of overhead cost, we<br />

capture traceability links autom atically in the background, in<br />

situ while artifacts are gener ated or e dited. This prospective<br />

technique is complementary to retrospective techniques which<br />

recover links after the fact [9, 11, 15]. The online capture of<br />

links can ensure that important information is not neglected or<br />

overlooked due to lack of resources or tim e [29]. The idea of<br />

tracing prospectively is not ne w [24], but it was only recently<br />

that this approach became feasible [19]. Empirical evidence<br />

reveals that traceability links captured in this manner are often<br />

useful [27].<br />

413

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!