Software Feature Understanding in an Industrial Setting

  • Authors:
  • Michael Jiang;Michael Groble;Sharon Simmons;Dennis Edwards;Norman Wilde

  • Affiliations:
  • Motorola Inc.;Motorola Inc.;University of West Florida;University of West Florida;University of West Florida

  • Venue:
  • ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software Engineers frequently need to locate and understand the code that implements a specific user feature of a large system. This paper reports on a study by Motorola Inc. and the Software Engineering Research Center to see if industrial tools currently in use at the company could be adapted for feature understanding. Software Engineers doing maintenance on industrial software often need to understand how a particular user feature of the program has been implemented. A user feature is often distributed across several different software modules, thus making it difficult to find and understand the code. A number of dynamic analysis methods have been proposed to help locate features [1, 5, 6]. These generally involve running the program with and without the feature, and then analyzing traces of program execution. Some academic tools are available (e.g. [3]) but there seem to be no commercial tools for feature location that are currently actively supported. Motorola Inc. was interested in knowing if commercial tools that the company currently uses could be adapted for feature location. It asked the University of West Florida and the Software Engineering Research Center (SERC)1 to study this issue, focusing specifically on CodeTEST from Metrowerks2 and on inSight from Klocwork3. Both tools are in use in Motorola and are known to be robust and effective. CodeTEST is a dynamic analysis tool and can produce traces of execution, while inSight.