Which Features Do My Users (Not) Use?

Maintenance of unused features leads to unnecessary costs. Therefore, identifying unused features can help product owners to prioritize maintenance efforts. We present a tool that employs dynamic analyses and text mining techniques to identify use case documents describing unused features to approximate unnecessary features. We report on a preliminary study of an industrial business information system over the course of one year quantifying unused features and measuring the performance of the approach. It indicates the relevance of the problem and the capability of the presented approach to detect unused features.

[1]  Arie van Deursen,et al.  Reconstructing requirements coverage views from design and test using traceability recovery via LSI , 2005, TEFSE '05.

[2]  Richard A. Harshman,et al.  Indexing by Latent Semantic Analysis , 1990, J. Am. Soc. Inf. Sci..

[3]  Eleni Stroulia,et al.  Mining Software Usage Data , 2004, MSR.

[4]  Bogdan Dit,et al.  Integrating information retrieval, execution and link analysis algorithms to improve feature location in software , 2012, Empirical Software Engineering.

[5]  Andrea De Lucia,et al.  On the Equivalence of Information Retrieval Methods for Automated Traceability Link Recovery , 2010, 2010 IEEE 18th International Conference on Program Comprehension.

[6]  Markus Herrmannsdoerfer,et al.  Feature Profiling for Evolving Systems , 2011, 2011 IEEE 19th International Conference on Program Comprehension.

[7]  Wei Zhao,et al.  SNIAFL: towards a static non-interactive approach to feature location , 2004, Proceedings. 26th International Conference on Software Engineering.

[8]  Genny Tortora,et al.  Recovering traceability links in software artifact management systems using information retrieval methods , 2007, TSEM.

[9]  Maximilian Junker,et al.  Selecting manual regression test cases automatically using trace link recovery and change coverage , 2014, AST 2014.

[10]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[11]  Jaideep Srivastava,et al.  Web usage mining: discovery and applications of usage patterns from Web data , 2000, SKDD.

[12]  Eya Ben Charrada,et al.  Identifying outdated requirements based on source code changes , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[13]  C MurphyGail,et al.  How Are Java Software Developers Using the Eclipse IDE , 2006 .

[14]  Yann-Gaël Guéhéneuc,et al.  Combining Probabilistic Ranking and Latent Semantic Indexing for Feature Identification , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[15]  Mik Kersten,et al.  How are Java software developers using the Elipse IDE? , 2006, IEEE Software.

[16]  Jonathan I. Maletic,et al.  Improving Feature Location by Enhancing Source Code with Stereotypes , 2013, 2013 IEEE International Conference on Software Maintenance.

[17]  Jane Cleland-Huang,et al.  Towards more intelligent trace retrieval algorithms , 2014, RAISE 2014.

[18]  Elmar Jürgens,et al.  How much does unused code matter for maintenance? , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[19]  Elmar Jürgens,et al.  Did we test our changes? Assessing alignment between tests and development in practice , 2013, 2013 8th International Workshop on Automation of Software Test (AST).

[20]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..

[21]  Falk Scholer,et al.  User performance versus precision measures for simple search tasks , 2006, SIGIR.

[22]  Michael D. Smith,et al.  Ephemeral Instrumentation for Lightweight Program Profiling , 1997 .