Advanced SearchSearch Tips
Extracting of Features in Code Changes of Existing System for Reengineering to Product Line
facebook(new window)  Pirnt(new window) E-mail(new window) Excel Download
 Title & Authors
Extracting of Features in Code Changes of Existing System for Reengineering to Product Line
Yoon, Seonghye; Park, Sooyong; Hwang, Mansoo;
  PDF(new window)
Software maintenance becomes extremely difficult, especially caused by multiple versions in project-based or customer-oriented software development methodology. For reducing the maintenance cost, reengineering to software product line can be a solution to the software which either is a family of products nevertheless little different functionalities or are customized for each different customer`s requirement. At an initial stage of the reengineering, the most important activity in software product line is feature extraction with respect to commonality and variability from the existing system due to verifying functional coverage. Several researchers have studied to extract features. They considered only a single version in a single product. However, this is an obstacle to classify the commonality and variability of features. Therefore, we propose a method for systematically extracting features from source code and its change history considering several versions of the existing system. It enables us to represent functionalities reflecting developer`s intention, and to clarify the rationale of variation.
Reengineering;Software product line;Feature extraction;Change history;Software evolution;
 Cited by
W. Codenie, N. Gonzalez-Deleito, J. Deleu, V. Blagojevic, P. Kuvaja, and J. Simila, "Managing Flexibility and Variability: A Road to Competitive Advantage." Taylor and Francis, pp. 269-313, 2009

C. W. Krueger, "Easing the transition to software mass customization," in PFE '01: Revised Papers from the 4th International Workshop on Software Product-Family Engineering. London, UK: Springer, pp. 282-293, 2001

S. Demeyer, S. Ducasse, and O. Nierstrasz, Object-Oriented Reengineering Patterns - Version of 2009-09-28. Square Bracket Associates, 2009.

R. Glass, Facts and Fallacies of Software Engineering. Addison-Wesley, 2003.

M. P. Robillard and G. C. Murphy, "Representing concerns in source code," ACM Trans. Softw. Eng. Methodol., vol. 16, no. 1, Feb. 2007.

M. P. Robillard, "Topology analysis of software dependencies," ACM Trans. Softw. Eng. Methodol., vol. 17, no. 4, pp. 18:1-18:36, Aug. 2008.

K. Kobayashi, M. Kamimura, K. Kato, K. Yano, and A. Matsuo, "Feature-gathering dependency-based software clustering using dedication and modularity," in ICSM, 2012, pp. 462-471, 2012

T. Eisenbarth, R. Koschke, and D. Simon, "Locating features in source code," IEEE Trans. Softw. Eng., vol. 29, no. 3, pp. 210-224, Mar. 2003. crossref(new window)

B. Adams, Z. M. Jiang, and A. E. Hassan, "Identifying crosscutting concerns using historical code changes," in Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, ser. ICSE '10, pp. 305-314, 2010

Kang, K.C. and Cohen, S.G. and Hess, J.A. and Novak, W.E. and Peterson, A.S., "Feature-oriented domain analysis (FODA) feasibility study", Technical Report CMU/SEI-90-TR-021, SEI, Carnegie Mellon University, November 1990

C. Nunes, A. Garcia, C. Lucena, and J. Lee, "History-sensitive heuristics for recovery of features in code of evolving program families," in Proceedings of the 16th International Software Product Line Conference - Volume 1, ser. SPLC '12, pp. 136-145, 2012.