A statistical analysis approach to predict user's changing requirements for software service evolution

Abstract Evolution is inevitable for almost all software, and may be driven by users’ continuous requests for changes and improvement, the enablement of technology development, among other factors. The evolution of software services can be seen as the evolution of system-user interactions. The capability to accurately and efficiently observe users’ volatile requirements is critical to making timely system improvements to adapt to rapidly changing environments. In this paper, we propose a methodology that employs Conditional Random Fields (CRF) as a means to provide quantitative exploration of system-user interactions that often lead to the discovery of users’ potential needs and requirements. By analyzing users' run-time behavioral patterns, domain experts can make prompt predictions on how users’ intentions shift, and timely propose system improvements or remedies to help address emerging needs. Our ultimate research goal is to speed up software service evolution to a great extent with automated tools, knowing that the challenge can be undoubtedly steep. The evolution of an online research library service is used to illustrate and evaluate the proposed approach in detail.

[1]  C.K. Chang,et al.  On Distributed Run-Time Software Evolution Driven by Stakeholders of Smart Home Development (Invited Paper) , 2008, 2008 Second International Symposium on Universal Communication.

[2]  Umakant P. Kulkarni,et al.  Design and Implementation of User Context aware Recommendation Engine for Mobile using Bayesian Network, Fuzzy Logic and Rule Base , 2012, Int. J. Pervasive Comput. Commun..

[3]  Joshua B. Tenenbaum,et al.  Bayesian Theory of Mind: Modeling Joint Belief-Desire Attribution , 2011, CogSci.

[4]  Andrew McCallum,et al.  Chinese Segmentation and New Word Detection using Conditional Random Fields , 2004, COLING.

[5]  Panu Harmo,et al.  Needs and solutions - home automation and service robots for the elderly and disabled , 2005, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[6]  Jaime G. Carbonell,et al.  Protein Fold Recognition Using Segmentation Conditional Random Fields (SCRFs) , 2006, J. Comput. Biol..

[7]  Thomas Keller,et al.  Contextual Requirements Elicitation An Overview , 2011 .

[8]  Andrew McCallum,et al.  Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data , 2001, ICML.

[9]  Václav Rajlich,et al.  Software evolution and maintenance , 2014, FOSE.

[10]  Victoria J. Hodge,et al.  A Survey of Outlier Detection Methodologies , 2004, Artificial Intelligence Review.

[11]  Yelong Shen,et al.  Sparse hidden-dynamics conditional random fields for user intent understanding , 2011, WWW.

[12]  P. I. Okwu,et al.  Software Evolution: Past, Present and Future , 2014 .

[13]  John Mylopoulos,et al.  Adaptive socio-technical systems: a requirements-based approach , 2011, Requirements Engineering.

[14]  Tae-Hyung Kim,et al.  Fault-resilient Ubiquitous Service Composition , 2007 .

[15]  Eya Ben Charrada,et al.  Supporting requirements update during software evolution , 2015, J. Softw. Evol. Process..

[16]  Stephanie Ludi,et al.  Towards a situation awareness design to improve visually impaired orientation in unfamiliar buildings: Requirements elicitation study , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[17]  Eric Knauss,et al.  Structured and unobtrusive observation of anonymous users and their context for requirements elicitation , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[18]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[19]  Tom Mens,et al.  Unanticipated Software Evolution , 2002, ECOOP Workshops.

[20]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[21]  Kotagiri Ramamohanarao,et al.  Layered Approach Using Conditional Random Fields for Intrusion Detection , 2010, IEEE Transactions on Dependable and Secure Computing.

[22]  Serge Demeyer,et al.  Software Evolution , 2010 .

[23]  Norbert Seyff,et al.  AppEcho: a user-driven, in situ feedback approach for mobile platforms and applications , 2014, MOBILESoft 2014.

[24]  Matthias Marschall,et al.  Transforming a Six Month Release Cycle to Continuous Flow , 2007, Agile 2007 (AGILE 2007).

[25]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[26]  R. Laddaga Self Adaptive Software Problems and Projects , 2006, 2006 Second International IEEE Workshop on Software Evolvability (SE'06).

[27]  John Mylopoulos,et al.  Requirements-driven software evolution , 2012, Computer Science - Research and Development.

[28]  Camille Salinesi,et al.  Compliance Gaps: A Requirements Elicitation Approach in the Context of System Evolution , 2003, OOIS.

[29]  Wei Jiang,et al.  For User-Driven Software Evolution: Requirements Elicitation Derived from Mining Online Reviews , 2014, PAKDD.

[30]  Ivica Crnkovic,et al.  Software architecture evolution through evolvability analysis , 2012, J. Syst. Softw..

[31]  Yijun Yu,et al.  Monitoring and diagnosing software requirements , 2009, Automated Software Engineering.

[32]  Andrew McCallum,et al.  An Introduction to Conditional Random Fields for Relational Learning , 2007 .

[33]  Yasubumi Sakakibara,et al.  RNA secondary structural alignment with conditional random fields , 2005, ECCB/JBI.

[34]  Carl K. Chang,et al.  Detection of New Intentions from Users Using the CRF Method for Software Service Evolution in Context-Aware Environments , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.

[35]  Ursula Faber,et al.  Requirements Engineering A Good Practice Guide , 2016 .

[36]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[37]  Bennet P. Lientz,et al.  Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations , 1980 .

[38]  Wei Li,et al.  Early results for Named Entity Recognition with Conditional Random Fields, Feature Induction and Web-Enhanced Lexicons , 2003, CoNLL.

[39]  Carl K. Chang,et al.  Situ: A Situation-Theoretic Approach to Context-Aware Service Evolution , 2009, IEEE Transactions on Services Computing.

[40]  Gerhard Weiss,et al.  Multiagent systems: a modern approach to distributed artificial intelligence , 1999 .

[41]  Sotiris B. Kotsiantis,et al.  Supervised Machine Learning: A Review of Classification Techniques , 2007, Informatica.

[42]  Lawrence R. Rabiner,et al.  A tutorial on hidden Markov models and selected applications in speech recognition , 1989, Proc. IEEE.

[43]  Pete Sawyer,et al.  Requirements Engineering: A Good Practice Guide , 1997 .

[44]  Alok Mishra,et al.  An Empirical Study of Lehman's Law on Software Quality Evolution , 2013, Int. J. Softw. Informatics.