An Automatic Software Requirement Analysis Approach based on Intelligent Planning Technology

With the development of information technology, the scale of current software is growing dramatically. This motivates the needs of techniques for intelligent software requirements engineering, which allows for modeling and analyzing requirements formally, rapidly and automatically, avoiding mistakes made by misunderstanding between engineers and users, and saving lots of time and manpower. In this paper, we propose an approach to acquiring requirements automatically, which adopts automated planning techniques and machine learning methods to convert software requirement into an incomplete planning domain. By this approach, we design an algorithm called Intelligent Planning based Requirement Analysis (IPRA), to learn action models with uncertain effects. Furthermore, we obtain a complete planning domain by applying this algorithm and convert it into software requirement specification.

[1]  Anna Perini,et al.  A Machine Learning Approach to Software Requirements Prioritization , 2013, IEEE Transactions on Software Engineering.

[2]  Weiru Liu,et al.  Managing software requirements changes based on negotiation-style revision , 2011 .

[3]  Philippe Laborie,et al.  Algorithms for propagating resource constraints in AI planning and scheduling: Existing approaches and new results , 2003, Artif. Intell..

[4]  Anne Condon,et al.  On the undecidability of probabilistic planning and related stochastic optimization problems , 2003, Artif. Intell..

[5]  Thomas J. Walsh,et al.  Efficient Learning of Action Schemas and Web-Service Descriptions , 2008, AAAI.

[6]  Liu Xiao-fei Research and advances in probabilistic planning , 2008 .

[7]  Avrim Blum,et al.  Fast Planning Through Planning Graph Analysis , 1995, IJCAI.

[8]  Young-Koo Lee,et al.  Achieving Dynamic and Distributed Session Management with Chord for Software as a Service Cloud , 2012, J. Softw..

[9]  Bart Selman,et al.  Encoding Plans in Propositional Logic , 1996, KR.

[10]  Mourad Badri,et al.  Analyzing Software Quality Evolution using Metrics: An Empirical Study on Open Source Software , 2013, J. Softw..

[11]  Yixin Chen,et al.  Constraint partitioning in penalty formulations for solving temporal planning problems , 2006, Artif. Intell..

[12]  Bixin Li,et al.  A Systematic State-Based Approach to Regression Testing of Component Software , 2013, J. Softw..

[13]  Jing Dong,et al.  Ontology Classification for Semantic-Web-Based Software Engineering , 2009, IEEE Transactions on Services Computing.

[14]  Yolanda Gil,et al.  Learning by Experimentation: Incremental Refinement of Incomplete Planning Domains , 1994, International Conference on Machine Learning.

[15]  Jigui Sun,et al.  Research on Decreasing Observation Variables for Strong Planning under Partial Observation: Research on Decreasing Observation Variables for Strong Planning under Partial Observation , 2009 .

[16]  Craig A. Knoblock,et al.  PDDL-the planning domain definition language , 1998 .

[17]  Richard Fikes,et al.  STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving , 1971, IJCAI.

[18]  Håkan L. S. Younes,et al.  The First Probabilistic Track of the International Planning Competition , 2005, J. Artif. Intell. Res..

[19]  Aurora Vizcaíno,et al.  Tools used in Global Software Engineering: A systematic mapping review , 2012, Inf. Softw. Technol..

[20]  Yijun Yu,et al.  Analyzing evolution of variability in a software product line: From contexts and requirements to features , 2011, Inf. Softw. Technol..

[21]  David E. Smith,et al.  Extending Graphplan to handle uncertainty and sensing actions , 1998, AAAI 1998.

[22]  Zhou Jun,et al.  Research on Decreasing Observation Variables for Strong Planning under Partial Observation , 2009 .