📝 Original Info
- Title: Towards a Process for Developing Maintenance Tools in Academia
- ArXiv ID: 0808.0347
- Date: 2008-08-05
- Authors: Researchers from original ArXiv paper
📝 Abstract
Building of tools--from simple prototypes to industrial-strength applications--is a pervasive activity in academic research. When proposing a new technique for software maintenance, effective tool support is typically required to demonstrate the feasibility and effectiveness of the approach. However, even though tool building is both pervasive and requiring significant time and effort, it is still pursued in an ad hoc manner. In this paper, we address these issues by proposing a dedicated development process for tool building that takes the unique characteristics of an academic research environment into account. We first identify process requirements based on a review of the literature and our extensive tool building experience in the domain of maintenance tools. We then outline a process framework based on work products that accommodates the requirements while providing needed flexibility for tailoring the process to account for specific tool building approaches and project constraints. The work products are concrete milestones of the process, tracking progress, rationalizing (design) decisions, and documenting the current state of the tool building project. Thus, the work products provide important input for strategic project decisions and rapid initiation of new team members. Leveraging a dedicated tool building process promises tools that are designed, build, and maintained in a more disciplined, predictable and efficient manner.
💡 Deep Analysis
Deep Dive into Towards a Process for Developing Maintenance Tools in Academia.
Building of tools–from simple prototypes to industrial-strength applications–is a pervasive activity in academic research. When proposing a new technique for software maintenance, effective tool support is typically required to demonstrate the feasibility and effectiveness of the approach. However, even though tool building is both pervasive and requiring significant time and effort, it is still pursued in an ad hoc manner. In this paper, we address these issues by proposing a dedicated development process for tool building that takes the unique characteristics of an academic research environment into account. We first identify process requirements based on a review of the literature and our extensive tool building experience in the domain of maintenance tools. We then outline a process framework based on work products that accommodates the requirements while providing needed flexibility for tailoring the process to account for specific tool building approaches and project constraint
📄 Full Content
arXiv:0808.0347v1 [cs.SE] 3 Aug 2008
Towards a Process for Developing Maintenance Tools in Academia
Holger M. Kienle and Hausi A. M¨uller
University of Victoria
Victoria, Canada
{kienle,hausi}@cs.uvic.ca
Abstract
Building of tools—from simple prototypes to industrial-
strength applications—is a pervasive activity in academic
research. When proposing a new technique for software
maintenance, effective tool support is typically required
to demonstrate the feasibility and effectiveness of the ap-
proach. However, even though tool building is both per-
vasive and requiring significant time and effort, it is still
pursued in an ad hoc manner. In fact, little research has ad-
dressed the question how to make tool building in academia
more disciplined, predictable and efficient. In this paper, we
address these issues by proposing a dedicated development
process for tool building that takes the unique characteris-
tics of an academic research environment into account. We
first identify process requirements based on a review of the
literature and our extensive tool building experience in the
domain of maintenance tools. We then outline a process
framework based on work products that accommodates the
requirements while providing needed flexibility for tailoring
the process to account for specific tool building approaches
and project constraints. The work products are concrete
milestones of the process, tracking progress, rationalizing
(design) decisions, and documenting the current state of the
tool building project. Thus, the work products provide im-
portant input for strategic project decisions and rapid initi-
ation of new team members. Leveraging a dedicated tool
building process promises tools that are designed, build,
and maintained in a more disciplined, predictable and ef-
ficient manner.
1. Introduction
Typical research in the domains of software maintenance
and reverse engineering proposes techniques to improve
the comprehension of software systems. In order to eval-
uate a proposed technique and to demonstrate its feasibility
many researchers implement a tool. Such a tool can range
from a simple proof-of-conceptprototype to a fully-fledged,
industrial-strength application.
This paper explores the current state of tool building
practices in academia with the aim to improve upon the
state-of-the-art.
This topic is worthwhile to address be-
cause even though tool building is a popular technique to
validate research in software engineering, it is neither sim-
ple nor cheap to accomplish. For example, tools such as
the Rigi and Moose reverse engineering environments re-
quire significant resources to develop and maintain. Rigi is
now being maintained for over a decade and this effort has
been accomplished by a number of students at the Master
and Ph.D. level as well as occasionally by dedicated staff
members. In this context the resulting constant turn-over
of (unexperienced) developers is a concern. Nierstrasz et
al., who have developed the Moose reengineering tool, ob-
serve that “crafting a tool requires engineering expertise
and effort, which consumes valuable research resources”
[30]. The transfer of engineering expertise in the domain of
tool building has to be addressed within each development
project. Furthermore, it also should be addressed within
the tool building community in order to communicate the
state-of-the-art and to further improve upon it. Currently,
the communication of engineering expertise to the commu-
nity is not sufficiently rewarded: research contributions in
conferences and journals are measured by novelty, not by
synthesis of existing work and experiences.
Having a process when building a maintenance tool is
especially desirable if it is a long-running project that has
a significant turnover of (student) developers. For longer-
term research this is often the case. Furthermore, to show
the effectiveness of these tools they should be sufficiently
stable and mature to serve in larger-scale (industrial) user
studies. Building a high-quality tool without following a
process exposes the research project to unnecessary risks.
Improving on the current tool building practice promises
tools that are designed, build, and maintained in a more
disciplined, predictable and efficient manner. Furthermore,
practices can emphasize certain non-functional tool require-
ments such as usability and adoptability, or a certain ap-
proach to tool building such as component-based develop-
ment. In this paper we advocate to employ an explicit tool
building process to raise the state-of-the-art.
This paper is organized as follows. Section 2 gives fur-
ther background on tool building in academia, concluding
that it is executed in an ad hoc manner and that a suitable
process can improve upon the state-of-the-art. We explore
then two more disciplined approaches to tool building that
have been pursued in the construction and maintenance of
SHriMP and TkSee. Section 3 presents the requirements
that are desirable for a too
…(Full text truncated)…
Reference
This content is AI-processed based on ArXiv data.