Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

A methodology for the classification of quality of requirements using machine learning techniques

Published: 01 November 2015 Publication History

Abstract

ContextOne of the most important factors in the development of a software project is the quality of their requirements. Erroneous requirements, if not detected early, may cause many serious problems, such as substantial additional costs, failure to meet the expected objectives and delays in delivery dates. For these reasons, great effort must be devoted in requirements engineering to ensure that the project's requirements results are of high quality. One of the aims of this discipline is the automatic processing of requirements for assessing their quality; this aim, however, results in a complex task because the quality of requirements depends mostly on the interpretation of experts and the necessities and demands of the project at hand. ObjectiveThe objective of this paper is to assess the quality of requirements automatically, emulating the assessment that a quality expert of a project would assess. MethodThe proposed methodology is based on the idea of learning based on standard metrics that represent the characteristics that an expert takes into consideration when deciding on the good or bad quality of requirements. Using machine learning techniques, a classifier is trained with requirements earlier classified by the expert, which then is used for classifying newly provided requirements. ResultsWe present two approaches to represent the methodology with two situations of the problem in function of the requirement corpus learning balancing, obtaining different results in the accuracy and the efficiency in order to evaluate both representations. The paper demonstrates the reliability of the methodology by presenting a case study with requirements provided by the Requirements Working Group of the INCOSE organization. ConclusionsA methodology that evaluates the quality of requirements written in natural language is presented in order to emulate the quality that the expert would provide for new requirements, with 86.1 of average in the accuracy.

References

[1]
P. Loucopoulos, V. Karakostas, System Requirements Engineering, McGraw-Hill, Inc., 1995.
[2]
G. Génova, J.M. Fuentes, J. Llorens, O. Hurtado, V. Moreno, A framework to measure and improve the quality of textual requirements, Requir. Eng., 18 (2013) 25-41.
[3]
F. Fabbrini, M. Fusani, S. Gnesi, G. Lami, The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool, in: Proceedings of the 26th Annual NASA Goddard Software Engineering Workshop 2001, 2001, pp. 95-105, http://dx.doi.org/10.1109/SEW.2001.992662.
[4]
F. Fabbrini, M. Fusani, S. Gnesi, G. Lami, An automatic quality evaluation for natural language requirements, in: Proceedings of the Seventh International Workshop on RE Foundation for Software Quality REFSQ 2001, vol. 1, 2001, pp. 1-15 <http://fmt.isti.cnr.it/WEBPAPER/P11RESFQ01.pdf>.
[5]
J. Hong, I. Mozetic, R.S. Michalski, AQ15: Incremental Learning of Attribute-Based Descriptions from Examples: The Method and User's Guide, Dep. Comput. Sci. Univ., Illinois Urbana-Champaign, 1986.
[6]
J. Major, J. Mangano, Selecting among rules induced from a hurricane database, J. Intell. Inf. Syst., 4 (1995) 39-52.
[7]
J.R. Quinlan, C4.5: Programs for Machine Learning, Elsevier, 1993.
[8]
E. Frank, I.H. Witten, Generating accurate rule sets without global optimization, Work. Pap., 1998 <http://hdl.handle.net/10289/1047>.
[9]
W.W. Cohen, Fast effective rule induction, in: Proceedings of the Twelfth International Conference on Machine Learning, 1995, pp. 115-123.
[10]
T.G. Ditterrich, Machine learning research: four current direction, Artif. Intell. Magaz. (1997) 97-136.
[11]
F.P. Brooks, No silver bullet: essence and accidents of software engineering, Computer (Long. Beach., CA), 20 (1987) 10-19.
[12]
E.J. Braude, Software Engineering: An Object-Oriented Perspective, John Wiley & Sons, Inc., 2000.
[13]
R.L. Glass, Facts and Fallacies of Software Engineering, Addison-Wesley Professional, Boston, 2003.
[14]
P. Bourque, R. Dupuis, Guide to the Software Engineering Body of Knowledge 2004 Version, 2004, http://dx.doi.org/10.1109/SESS.1999.767664.
[15]
T.S. Group, Chaos Manifesto 2013, 2013 <http://www.standishgroup.com/> (last accessed 20.05.05).
[16]
T. Gorschek, C. Wohlin, Requirements abstraction model, Requir. Eng., 11 (2006) 79-101.
[17]
Z. Racheva, M. Daneva, A. Herrmann, A conceptual model of client-driven agile requirements prioritization: results of a case study, in: Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering Measurements, vol. 39, 2010, pp. 39:1-39:4, http://dx.doi.org/10.1145/1852786.1852837.
[18]
F. Alencar, G. Giachetti, O. Pastor, From i¿ requirements models to conceptual models of a model driven development process, in: Proceedings of the Second IFIP WG 8.1 Working Conference on PoEM 2009 on the Practice of Enterprise Modeling, Stock., Sweden, November 18-19, 2009, 2009, pp. 99-114, http://dx.doi.org/10.1007/978-3-642-05352-8_9.
[19]
Requirements Working Group, International Council on Systems Engineering (INCOSE), Guide for Writing Requirements, 2012, 59 <http://www.incose.org>.
[20]
S. Magee, L.L. Tripp, Guide to Software Engineering Standards and Specifications, Artech House, Inc., 1997.
[21]
I. Hooks, Writing good requirements, in: Proceedings of the 3rd NCOSE International Symposium, vol. 2, 1993, vol. 2, 1993, pp. 1-11, http://dx.doi.org/10.1002/j.2334-5837.1994.tb01834.x.
[22]
L.H. Rosenberg, H. Linda, Generating high quality requirements, in: Proceedings of the AIAA space 2001 conference and exposition, AIAA paper, 2001, pp. 28-30.
[23]
I. Alexander, R. Stevens, Writing Better Requirements, Addison-Wesley, 2002.
[24]
W. Turk, Writing requirements, (2006) 20-23.
[25]
S.E.S. Committee, IEEE Recommended Practice for Software Requirements Specifications, 1998.
[26]
J. Bøegh, A new standard for quality requirements, IEEE Softw., 25 (2008) 57-63.
[27]
ISO/IEC, Software Engineering-Software Product Quality Requirements and Evaluation (SQuaRE), Qual. Requir. Int'l Organ. Stand. ISO/IEC 25, 2007.
[28]
I.F. Hooks, Guide for Managing and Writing by, 2000.
[29]
E.S.A. (ESA), Guide to the Software Requirements Definition Phase, 1995.
[30]
INCOSE (International Council on Systems Engineering), n.d. <http://www.incose.org/> (last accessed 01.05.15).
[31]
Reqtify, 3DS DassaultSystèmes, 3DS DassaultSystèmes, n.d. <http://www.3ds.com/> (last accessed 20.05.02).
[32]
Caliber, Borland, Borland, n.d. <http://www.borland.com/> (last accessed 01.05.15).
[33]
IBM, Rational DOORS. Rational RequisitePro, IBM, n.d. <http://www.IBM.com> (last accessed 01.05.15).
[34]
T.R. Company, RQA Requirements Quality Analyzer, Reuse Co., n.d. <http://www.reusecompany.com> (last accessed 01.05.15).
[35]
V. Solutions, Visure Solutions, Visure Solut., n.d. <http://www.visuresolutions.com/> (last accessed 01.05.15).
[36]
F.J. Chantree, A. De Roeck, B. Nuseibeh, A. Willis, Identifying Nocuous Ambiguity in Natural Language Requirements, Fac. Maths Comput. Doctor of, 2006, p. 203.
[37]
D. Popescu, S. Rugaber, N. Medvidovic, D.M. Berry, Reducing ambiguities in requirements specifications via automatically created object-oriented models, in: Lecture Notes on Computer Science (including Subseries Lecture Notes on Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 5320 LNCS, 2008, pp. 103-124, http://dx.doi.org/10.1007/978-3-540-89778-1_10.
[38]
N. Kiyavitskaya, N. Zeni, L. Mich, D.M. Berry, Requirements for tools for ambiguity identification and measurement in natural language requirements specifications, Requir. Eng., 13 (2008) 207-239.
[39]
Y. Wang, I.L.M. Gutiérrez, K. Winbladh, H. Fang, Automatic detection of ambiguous terminology for software requirements, in: Natural Language Processing and Information Systems, Springer, 2013, pp. 25-37.
[40]
T.C. de Sousa, J.R. Almeida, S. Viana, J. Pavón, Automatic analysis of requirements consistency with the B method, ACM SIGSOFT Softw. Eng. Notes, 35 (2010) 1.
[41]
A. Sardinha, R. Chitchyan, N. Weston, P. Greenwood, A. Rashid, EA-Analyzer: automating conflict detection in a large set of textual aspect-oriented requirements, Autom. Softw. Eng., 20 (2013) 111-135.
[42]
R. Ali, F. Dalpiaz, P. Giorgini, Reasoning with contextual requirements: detecting inconsistency and conflicts, Inf. Softw. Technol., 55 (2013) 35-57.
[43]
D. Aceituna, G. Walia, H. Do, S.-W. Lee, Model-based requirements verification method: conclusions from two controlled experiments, Inf. Softw. Technol., 56 (2014) 321-334.
[44]
R. Thakurta, A framework for prioritization of quality requirements for inclusion in a software project, Softw. Qual. J., 21 (2013) 573-597.
[45]
C.E. Otero, E. Dell, A. Qureshi, L.D. Otero, A quality-based requirement prioritization framework using binary inputs, in: AMS2010 Asia Modelling Symposium in 2010-4th International Conference on Mathematical Modelling, Computation and Simulation, 2010, pp. 187-192, http://dx.doi.org/10.1109/AMS.2010.48.
[46]
J.R. McCoy, NASA software tools for high-quality requirements engineering, in: Proceedings of the 26th Annual NASA Goddard Software Engineering Workshop, 2001, p. 20771, http://dx.doi.org/10.1109/SEW.2001.992657.
[47]
D. Ott, Automatic requirement categorization of large natural language specifications at Mercedes-Benz for review improvements, Lecture Notes in Computer Science (including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 7830 LNCS, 2013, pp. 50-64, http://dx.doi.org/10.1007/978-3-642-37422-7_4.
[48]
Y. Ko, S. Park, J. Seo, S. Choi, Using classification techniques for informal requirements in the requirements analysis-supporting system, Inf. Softw. Technol., 49 (2007) 1128-1140.
[49]
H. Jani, A. Islam, A Framework of Software Requirements Quality Analysis System using Case-Based Reasoning and Neural Network, Ieeexplore.Ieee.Org., n.d., pp. 152-157 <http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6528619>.
[50]
I. Hussain, O. Ormandjieva, L. Kosseim, Automatic quality assessment of SRS text by means of a decision-tree-based text classifier, in: Proceedings of the International Conference on Quality Software, 2007, pp. 209-218, http://dx.doi.org/10.1109/QSIC.2007.4385497.
[51]
J.L. Dargan, E. Campos-Nanez, P. Fomin, J. Wasek, Predicting systems performance through requirements quality attributes model, Proc. Comput. Sci., 28 (2014) 347-353.
[52]
M. Harman, P. McMinn, J. de Souza, S. Yoo, Search Based Software Engineering: Techniques, Taxonomy, Tutorial, Springer, Berlin Heidelb., 2012, pp. 1-59, http://dx.doi.org/10.1007/978-3-642-25231-0_1.
[53]
M. Harman, B.F. Jones, Search-based software engineering, Inf. Softw. Technol., 43 (2001) 833-839.
[54]
Y. Zhang, M. Harman, S. Mansouri, The Multi-Objective Next Release Problem, 2007, pp. 1129-1136, http://dx.doi.org/10.1145/1276958.1277179.
[55]
CESAR, CESAR Project, n.d. <http://www.cesarproject.eu/> (last accessed 01.05.15).
[56]
ARTEMIS, CRYSTAL, n.d. <http://www.crystal-artemis.eu/> (last accessed 01.05.15).
[57]
E. Hull, K. Jackson, J. Dick, Requirements Engineering, Springer Science & Business Media, 2010.
[58]
A. Fraga, A Methodology for Reusing Any Kind of Knowledge at Low Cost: Universal Knowledge Reuse, University Carlos III de Madrid, 2010.
[59]
J. Bloomberg, R. Schmelzer, Service Orient or be Doomed!: How Service Orientation Will Change Your Business, John Wiley & Sons, 2006.
[60]
M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, I.H. Witten, The WEKA data mining software, ACM SIGKDD Explor., 11 (2009) 10-18.
[61]
V. Moreno, Análisis de los criterios de relevancia documental mediante consultas de información en el entorno WEB, University Carlos III de Madrid, 2010.

Cited By

View all
  • (2024)A systematic mapping to investigate the application of machine learning techniques in requirement engineering activitiesCAAI Transactions on Intelligence Technology10.1049/cit2.123489:6(1412-1434)Online publication date: 10-Jun-2024
  • (2024)Applying bayesian data analysis for causal inference about requirements quality: a controlled experimentEmpirical Software Engineering10.1007/s10664-024-10582-130:1Online publication date: 22-Nov-2024
  • (2024)Advances in automated support for requirements engineering: a systematic literature reviewRequirements Engineering10.1007/s00766-023-00411-029:2(177-207)Online publication date: 1-Jun-2024
  • Show More Cited By
  1. A methodology for the classification of quality of requirements using machine learning techniques

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Information and Software Technology
    Information and Software Technology  Volume 67, Issue C
    November 2015
    265 pages

    Publisher

    Butterworth-Heinemann

    United States

    Publication History

    Published: 01 November 2015

    Author Tags

    1. Machine learning
    2. Requirements engineering
    3. Requirements quality
    4. Software engineering

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 28 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A systematic mapping to investigate the application of machine learning techniques in requirement engineering activitiesCAAI Transactions on Intelligence Technology10.1049/cit2.123489:6(1412-1434)Online publication date: 10-Jun-2024
    • (2024)Applying bayesian data analysis for causal inference about requirements quality: a controlled experimentEmpirical Software Engineering10.1007/s10664-024-10582-130:1Online publication date: 22-Nov-2024
    • (2024)Advances in automated support for requirements engineering: a systematic literature reviewRequirements Engineering10.1007/s00766-023-00411-029:2(177-207)Online publication date: 1-Jun-2024
    • (2023)Requirements quality research: a harmonized theory, evaluation, and roadmapRequirements Engineering10.1007/s00766-023-00405-y28:4(507-520)Online publication date: 1-Dec-2023
    • (2021)An automatic methodology for the quality enhancement of requirements using genetic algorithmsInformation and Software Technology10.1016/j.infsof.2021.106696140:COnline publication date: 1-Dec-2021
    • (2020)A Systematic Literature Review on Using Machine Learning Algorithms for Software Requirements Identification on Stack OverflowSecurity and Communication Networks10.1155/2020/88306832020Online publication date: 1-Jan-2020
    • (2020)Application of machine learning techniques to the flexible assessment and improvement of requirements qualitySoftware Quality Journal10.1007/s11219-020-09511-428:4(1645-1674)Online publication date: 27-Apr-2020
    • (2017)RendexJournal of Systems and Software10.1016/j.jss.2017.05.079131:C(63-77)Online publication date: 1-Sep-2017

    View Options

    View options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media