Advertisement

Feature Usage Diagram for Feature Reduction

  • Sarunas Marciuska
  • Cigdem Gencel
  • Xiaofeng Wang
  • Pekka Abrahamsson
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 149)

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.

Keywords

feature creep feature reduction feature usage feature location concern graphs latent lattice 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Highsmith, J.A.: Agile software development ecosystems. Addison-Wesley Professional (2002)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Ries, E.: The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Journal of Product Innovation Management (2011)Google Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Microsoft Spy++, http://msdn.microsoft.com/en-us/library/aa264396(v=vs.60).aspx (last visited on the November 27, 2012)Google Scholar
  9. 9.
    OpenSpan Desktop Analytics, http://www.openspan.com/products/desktop_analytics (last visited on the November 27, 2012)
  10. 10.
    Google Analytics, http://www.google.com/analytics (last visited on the November 27, 2012)
  11. 11.
    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)Google Scholar
  12. 12.
    Eisenbarth, T., Koschke, R., Simon, D.: Locating Features in Source Code. IEEE Computer (2003)Google Scholar
  13. 13.
    Ebert, C., Dumke, R.: Software Measurement. Springer (2007)Google Scholar
  14. 14.
    Ebert, C., Abrahamsson, P., Oza, N.: Lean Software Development. IEEE Software, 22–25 (2012)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    Petrenko, M., Rajlich, V., Vanciu, R.: Partial Domain Comprehension in Software Evolution and Maintenance. In: International Conference on Program Comprehension (2008)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    Poshyvanyk, D., Marcus, A.: Combining formal concept analysis with information retrieval for concept location in source code. In: Program Comprehension, pp. 37–48 (2007)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    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)CrossRefGoogle Scholar
  29. 29.
    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)CrossRefGoogle Scholar
  30. 30.
    Palmer, S.R., Felsing, M.: A practical guide to feature-driven development. Pearson Education (2001)Google Scholar
  31. 31.
    Smith, J.B., Colgate, M.: Customer value creation: a practical framework. The Journal of Marketing Theory and Practice, 7–23 (2007)Google Scholar
  32. 32.
    Runeson, P., Host, M.: Guidelines for conducting and reporting case study research in software engineering. In: Empirical Software Engineering, pp. 131–164 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Sarunas Marciuska
    • 1
  • Cigdem Gencel
    • 1
  • Xiaofeng Wang
    • 1
  • Pekka Abrahamsson
    • 1
  1. 1.Free University of Bolzano-BozenItaly

Personalised recommendations