Towards a Process for Developing Maintenance Tools in Academia

Reading time: 6 minute
...

📝 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.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut