Abstract
Feature creep, if not managed well, cause software bloat. This in turn makes software applications become slower. Currently, software industry urgently requires mechanisms and approaches to reduce unnecessary or low value features. In this paper, we introduce a modelling notation, so called Feature Usage Diagram, and an approach to identify and visualize the required information for decision makers when reducing features. We conducted a case study using a real web application to validate and evaluate the Feature Usage Diagram elements and notation. The results showed that the Feature Usage Diagram is easy to learn and understand. Moreover, by visualising useful information, it has potential to support developers when making decisions for feature reduction.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Highsmith, J.A.: Agile software development ecosystems. Addison-Wesley Professional (2002)
Davis, F.D., Venkatesh, V.: Toward preprototype user acceptance testing of new information systems: implications for software project management. IEEE Transactions on Engineering Management (2004)
Senyard, A., Michlmayr, M.: How to have a successful free software project. In: Proceedings of the 11th Asia-Pacific Software Engineering Conference, pp. 84–91 (2004)
Xu, G., Mitchell, N., Arnold, M., Rountev, A., Sevitsky, G.: Software bloat analysis: Finding, removing, and preventing performance problems in modern large-scale object-oriented applications. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research (2010)
Ries, E.: The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Journal of Product Innovation Management (2011)
Taipale, M.: Huitale – A Story of a Finnish Lean Startup. In: Abrahamsson, P., Oza, N. (eds.) LESS 2010. LNBIP, vol. 65, pp. 111–114. Springer, Heidelberg (2010)
Atterer, R., Wnuk, M., Schmidt, A.: Knowing the user’s every move: user activity tracking for website usability evaluation and implicit interaction. In: Proceedings of the International Conference on World WideWeb (2006)
Microsoft Spy++, http://msdn.microsoft.com/en-us/library/aa264396(v=vs.60).aspx (last visited on the November 27, 2012)
OpenSpan Desktop Analytics, http://www.openspan.com/products/desktop_analytics (last visited on the November 27, 2012)
Google Analytics, http://www.google.com/analytics (last visited on the November 27, 2012)
Dit, B., Revelle, M., Gethers, M., Poshyvanyk, D.: Feature Location in Source Code: A Taxonomy and Survey. Journal of Software Maintenance and Evolution: Research and Practice (2011)
Eisenbarth, T., Koschke, R., Simon, D.: Locating Features in Source Code. IEEE Computer (2003)
Ebert, C., Dumke, R.: Software Measurement. Springer (2007)
Ebert, C., Abrahamsson, P., Oza, N.: Lean Software Development. IEEE Software, 22–25 (2012)
Eisenberg, A.D., De Volder, K.: Dynamic Feature Traces: Finding Features in Unfamiliar Code. In: Proceedings of 21st IEEE International Conference on Software Maintenance, Budapest, Hungary, pp. 337–346 (2005)
Bohnet, J., Voigt, S., Dollner, J.: Locating and Understanding Features of Complex Software Systems by Synchronizing Time, Collaboration and Code-Focused Views on Execution Traces. In: Proceedings of 16th IEEE International Conference on Program Comprehension, pp. 268–271 (2008)
Edwards, D., Wilde, N., Simmons, S., Golden, E.: Instrumenting Time-Sensitive Software for Feature Location. In: Proceedings of International Conference on Program Comprehension, pp. 130–137 (2009)
Chen, K., Rajlich, V.: Case Study of Feature Location Using Dependence Graph. In: Proceedings of 8th IEEE International Workshop on Program Comprehension, pp. 241–249 (2000)
Robillard, M.P., Murphy, G.C.: Concern Graphs: Finding and describing concerns using structural program dependencies. In: Proceedings of International Conference on Software Engineering, pp. 406–416 (2002)
Trifu, M.: Using Dataflow Information for Concern Identification in Object-Oriented Software Systems. In: Proceedings of European Conference on Software Maintenance and Reengineering, pp. 193–202 (2008)
Petrenko, M., Rajlich, V., Vanciu, R.: Partial Domain Comprehension in Software Evolution and Maintenance. In: International Conference on Program Comprehension (2008)
Marcus, A., Sergeyev, A., Rajlich, V., Maletic, J.: An Information Retrieval Approach to Concept Location in Source Code. In: Proceedings of 11th IEEE Working Conference on Reverse Engineering, pp. 214-223 (2004)
Grant, S., Cordy, J.R., Skillicorn, D.B.: Automated Concept Location Using Independent Component Analysis. In: Proceedings of 15th Working Conference on Reverse Engineering, pp. 138–142 (2008)
Hill, E., Pollock, L., Vijay-Shanker, K.: Automatically Capturing Source Code Context of NL-Queries for Software Maintenance and Reuse. In: Proceedings of 31st IEEE/ACM International Conference on Software Engineering (2009)
Poshyvanyk, D., Marcus, A.: Combining formal concept analysis with information retrieval for concept location in source code. In: Program Comprehension, pp. 37–48 (2007)
Chen, A., Chou, E., Wong, J., Yao, A.Y., Zhang, Q., Zhang, S., Michail, A.: CVSSearch: searching through source code using CVS comments. In: Proceedings of IEEE International Conference on Software Maintenance, pp. 364–373 (2001)
Ratanotayanon, S., Choi, H.J., Sim, S.E.: Using Transitive changesets to Support Feature Location. In: Proceedings of 25th IEEE/ACM International Conference on Automated Software Engineering, pp. 341–344 (2010)
Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)
Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 266–283. Springer, Heidelberg (2004)
Palmer, S.R., Felsing, M.: A practical guide to feature-driven development. Pearson Education (2001)
Smith, J.B., Colgate, M.: Customer value creation: a practical framework. The Journal of Marketing Theory and Practice, 7–23 (2007)
Runeson, P., Host, M.: Guidelines for conducting and reporting case study research in software engineering. In: Empirical Software Engineering, pp. 131–164 (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Marciuska, S., Gencel, C., Wang, X., Abrahamsson, P. (2013). Feature Usage Diagram for Feature Reduction. In: Baumeister, H., Weber, B. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2013. Lecture Notes in Business Information Processing, vol 149. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38314-4_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-38314-4_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38313-7
Online ISBN: 978-3-642-38314-4
eBook Packages: Computer ScienceComputer Science (R0)