A complete traceability methodology between UML diagrams and source code based on enriched use case textual description
Abstract
Traceability in software development proves its importance in many domains like change management, customer's requirements satisfaction, model slicing, etc. Existing traceability techniques trace either between requirement and design or between requirement and code. However, none of the existing approaches achieved reliable results when dealing with traceability between requirements, design models and source code. In this paper, we propose an improvement and an extension of our design traceability approach in order to tackle the traceability between design, requirement and code. The fine-tuning of our methodology stems from considering an expanded textual description. A pre-treatment step is added in order to divide the textual description of system functionalities into different parts, each of which represents a specific goal. In fact, the extension consists in extracting an expanded textual description from a natural language text in order to trace between related elements belonging to requirement, design and code while using an information retrieval technique. The proposed method is based on different scenarios (nominal, alternatives and errors), particularly on concepts related to control structures to establish the traceability between artefacts. Furthermore, we implemented our method in a tool allowing the evaluation of its performance. The evaluation is performed on real existing applications that consist in comparing results found by our approach with results found by experts. Our method achieves an average precision of 0.84 and a recall of 0.91 in traceability between requirement, design and code. Besides its promising performance outcomes, our automated method has the merit of generating a traceability report describing the correspondence between different artefacts.
Full Text:
PDFReferences
Y.Wang, Formal description of the UML architecture and extendibility, in: journal L’object: Software, Databases, Networks, 2000, Vol.6, No.3.
P. Rempel, P. Mader, Continuous Assessment of Software Traceability, in: 38th IEEE/ACM Conference on Software Engineering Companion, May, Austin, TX, USA, 2016, pp. 747-748, DOI: http://dx.doi.org/10.1145/2889160.2892657
L. Briand, D. Falessi, S. Nejati, M. Sabetzadeh, T. Yue, Traceability and SysML Design Slices to Support Safety Inspections: A Controlled Experiment, Simula Research Laboratory, in: journal of ACM Transactions on Software Engineering and Methodolog, February, 2014, No.9. https://doi.org/10.1145/2559978
A. Lawgali, Traceability of unified modeling language diagrams from use case maps, in: international Journal of Software Engineering & Applications (IJSEA), Vol.7, No.6, November, 2016, pp.89-100. doi:10.5121/ijsea.2016.7607
V. Adhav, D. Ahire, A. Jadhav, D. Lokhande, Class Diagram Extraction from Textual Requirements Using NLP, in: Second International Conference on Computer Research and Development, (2015), vol.17, No 2, pp. 27-29. DOI: 10.1109/ICCRD.2010.71
D. Kchaou, N. Bouassida, H.Ben-Abdallah, Uml models change impact analysis using a text similarity technique. In journal of IET Software, Vol 11, Issue 1, No 2, February, 2017, pp. 27-37. DOI: 10.1049/iet-sen.2015.0113
P. Mader, O. Gotel, Towards automated traceability maintenance, in: Journal of Systems and Software, vol. 85, no. 10, 2012, pp. 2205–2227. https://doi.org/10.1016/j.jss.2011.10.023
S. Nejati, M. Sabetzadeh, C. Arora, L.C.Briand, F.Mandoux, Automated change impact analysis between sysml models of requirements and design, in: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ACM, New York, USA, 2016, pp 242-253. https://doi.org/10.1145/2950290.2950293
Min, H.S.: 'Traceability Guideline for Software Requirements and UML Design'. in: Journal of Software Engineering and Knowledge Engineering, 26, (01), 2016, pp. 87-113.
M. Rahimi, J. Cleland-Huang, Evolving software trace links between requirements and source code, in: international journal of Empirical Software Engineering, Vol. 23, 2018, pp.2198–2231. DOI: https://doi.org/10.1007/s10664-017-9561-x
G. Antoniol, G. Canfora, G. Casazza, A. De Lucia and E. Merlo, "Recovering
traceability links between code and documentation," in IEEE Transactions on
Software Engineering, vol. 28, no. 10, pp. 970-983, Oct. 2002, doi:
1109/TSE.2002.1041053.
A. Ghabi, A. Egyed, Exploiting traceability uncertainty among artifacts and code, The Journal of Systems and Software, Vol. 108, October 2015, pp. 178–192. http://dx.doi.org/10.1016/j.jss.2015.06.037
A. Ghannem, H. Mohamed Salah, M. Kessentini, H.A. Hany, Search-Based Requirements Traceability Recovery: A Multi-Objective Approach, in: IEEE Congress on Evolutionary Computation (CEC), San Sebastian, Spain, 5-8 June, 2017, DOI: 10.1109/CEC.2017.7969440
C. Mills, C., J. Javier Escobar-Avila, S. Haiduc, Automatic Traceability Maintenance via Machine Learning Classification, in: IEEE International Conference on Software Maintenance and Evolution, Madrid, Spain, 2018, pp. 369-380. DOI: 10.1109/ICSME.2018.00045
S. Palihawadana, C. H. Wijeweera, M. G. T. N. Sanjitha, V. Liyanage, I. Perera, D. Meedeniya, Tool support for traceability management of software artefacts with DevOps practices, in: Proceedings of the Moratuwa Engineering Research Conference, IEEE, 2017, pp. 129-134. DOI: 10.1109/MERCon.2017.7980469
C. Trubiani, A. Ghabi, A. Egyed, Exploiting traceability uncertainty between software architectural models and extra-functional results, in: Journal of Systems and SoftwareVol 125, March 2017, , 2017, pp.15-34. https://doi.org/10.1016/j.jss.2016.11.032
A. D. Lucia, , F.Fasano, , R.Oliveto, , G.Tortora, Recovering traceability links in software artifact management systems using information retrieval methods, in: ACM Transactions on Software Engineering and Methodology, Vol 16, No4, 2007, pp.13-63. https://doi.org/10.1145/1276933.1276934
M. Lormans, A. van Deursen, Can LSI help Reconstructing Requirements Traceability in Design and Test? In: Proceedings of the 10th European Conference on Software Maintenance and Reengineering, IEEE Computer Society, 2006, pp. 47-56. DOI: 10.1109/CSMR.2006.13
A. Marcus, and J. I. Maletic, Recovering documentation-to-source-code traceability links using latent semantic indexing, in: Proceedings of the 25th International Conference on Software Engineering, IEEE Computer Society, Washington, USA, May, 2003, pp.125–135.
M. Eyl, C. Reichmann, and K. Müller-Glaser, Traceability in a Fine Grained Software Configuration Management System, in: international conference on software quality, LNBIP 269, 2017, pp. 15–29. DOI: 10.1007/978-3-319-49421-0_2
A. Shanmugathasan, S., Ratnavel, S., Thiyagarajah, V., Perera, I., Meedeniya, D., Balasubramaniam, D.: 'Support for traceability management of software artefacts using Natural Language Processing'. Moratuwa Engineering Research Conf., 2016. pp. 18-23.
M. Grechanik, KS. McKinley, DE. Perry, Recovering and using use-case-diagram-to-source-code traceability links, in: Proceedings of the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, September, 2007, pp.95–104, https://doi.org/10.1145/1287624.1287640
A. Cockburn, j. Highsmith, Agile Software Development: The People Factor. EEE Computer, Volume 34, 2001, pp. 131-133.
O. S. Dawood, A. E. K. Sahraoui, From Requirements Engineering to UML using Natural Language Processing – Survey Study. European Journal of Engineering Research and Science, 2, (1), January, 2017, pp. 44-50.
K. Swathine, N. Sumathi, Study on Requirement Engineering and Traceability Techniques in Software Artefacts, in: international Journal of Innovative Research in Computer and Communication Engineering, Vol. 5, Issue 1, January 2017. DOI: 10.15680/IJIRCCE.2017. 0501016
H. Kaiya, A. Hazeyama, S. Ogata, T. Okubo, N. Yoshioka, H. Washizaki,
Towards A Knowledge Base for Software Developers to Choose Suitable Traceability Techniques, in: Proceedings of the 23rd International Conference on Knowledge-Based and Intelligent Information & Engineering Systems, 2019, pp. 1075-1084, https://doi.org/10.1016/j.procs.2019.09.276
H. Kaiya, R.Satoa, A.Hazeyamab, S.Ogatac, T.Okubod, T.Tanakae, N.Yoshiokaf, H. Washizakig, Preliminary Systematic Literature Review of Software and Systems Traceability, in: 2th International Conference on Knowledge Based and Intelligent Information and Engineering of the 10th European Conference on Software Maintenance and Reengineering, IEEE Computer Society, 2006, pp. 47-56. DOI: 10.1109/CSMR.2006.13
C. Trubiani, A. Ghabi, A. Egyed, Exploiting traceability uncertainty between software architectural models and extra-functional results, in: Journal of Systems and Software, Vol 125, March 2017, , 2017, pp.15-34. https://doi.org/10.1016/j.jss.2016.11.032
S. Maro, A. Anjorin, R. Wohlrab, J.P. Steghöfer: Traceability maintenance: factors and guidelines, in: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, Singapore, September 3-7, 2016, pp. 414-425.
S. Maro, J.P. Steghöfer, M. Staron, Software traceability in the automotive domain: Challenges and solutions, in: Journal of Systems and Software, Vol 141, 2018, pp.85-110.
https://doi.org/10.1016/j.jss.2018.03.060
R.Wohlrab, J.-P. Steghöfer, E. Knauss, S. Maro, A. Anjorin: Collaborative Traceability Management: Challenges and Opportunities, in: 24th IEEE International Requirements Engineering Conference, Beijing, China, September 12-16, 2016, pp. 216-225. DOI: 10.1109/RE.2016.1
M., Broy, A logical approach to systems engineering artifacts: semantic relationships and dependencies beyond traceability - from requirements to functional and architectural views, in: journal of Software and Systems Modeling, pp.365-393, Vol.17, Issue 2, 2018, pp. 365-393. https://doi.org/10.1007/s10270-017-0619-4
Yazawa, Y. , Ogata, S., Okano, K., Kaiya, H., Washizaki, H.: 'Traceability Link Mining - Focusing on Usability'.41st IEEE Annual Computer Software and Applications Conference, Italy, 2, 2017, pp 286-287.
K.S. Divya, R. Subha, , S. Palaniswami, Similar words identification using naive and tf-idf method'. Information Technology and Computer Science Journal, pp. 42-47, 2014.
Kothari, P.R.: 'Processing Natural Language Requirement to Extract Basic Elements of a Class'. Journal of Applied Information Systems, USA 3, (7), 2012, pp. 39-42.
A. T. Imam, A. A. Hroob , R. A. Heisa, The use of artificial neural networks for extracting actions and actors from requirements document'. journal of Information and Software Technology, 2018, pp.1-15.
Rath, M., Rendall, J., Guo, J. L.C., Cleland-Huang, J., Mader, P., 'Traceability in the Wild: Automatically Augmenting Incomplete Trace Links'. IConf on Software Engineering, May 27-June 3, Sweden, 2018, pp. 834–845.
L. G. P. Murta, A. van der Hoek, C. M. L.Werner, Archtrace: policy-based support for managing evolving architecture-to implementation traceability links, in: 21st IEEE/ACM International Conference on Automated Software Engineering, Tokyo, Japan, 2006, pp. 135–144. DOI: 10.1109/ASE.2006.16
L. G. P. Murta, A. van der Hoek, C. M. L.Werner, Continuous and automated evolution of architecture-to-implementation traceability links, in: Automated Software Engineering Journal, vol. 15, no. 1, 2008, pp. 75–107. https://doi.org/10.1007/s10515-007-0020-6
I. D. D. Rubasinghe, A. Meedeniya, I. Perera, Towards TraceabilityManagement in Continuous Integration with SAT Analyser, in: Proceedings of the 3rd International Conference on Communication, and Information Processing, 2017, ACM, Tokyo. DOI: 10.1145/3162957.3162985
I, Pete, D., Balasubramaniam, Handling the Differential Evolution of Software Artefacts A Framework for Consistency Management, in: 22nd IEEE International Conference on Software Analysis Evolution and Reengineering, 2015, pp.599-600, doi: 10.1109/SANER.2015.7081889
M. Grechanik, KS. McKinley, DE. Perry, Recovering and using use-case-diagram-to-source-code traceability links, in: Proceedings of the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, September, 2007, pp.95–104, https://doi.org/10.1145/1287624.1287640
Guo, J., Cheng, J. Cleland-Huang, J.: 'Semantically Enhanced Software Traceability Using Deep Learning Techniques'. Conf on Software Engineering, May 2017, pp. 3-14.
Kuang, H., Nie, J., Hu, H., Rempel, P., Lü, J., Egyed, A., Mäder, P. : 'Analyzing Closeness of Code Dependencies for Improving IR-Based Traceability Recovery'. Software Analysis Evolution & Reengineering, 2017, pp. 68-78.
Kuang, H., Gao, H., Hu, H., Ma, X. , Lü, J., Mäder, P. , Egyed, A.: 'Using Frugal User Feedback with Closeness Analysis on Code to Improve IR-Based Traceability Recovery'. IEEE/ACM 27th Inter. Conf. on Program Comprehension, pp. 369-379, 2019.
I. D. D. Rubasinghe, A. Meedeniya, I. Perera, Towards TraceabilityManagement in Continuous Integration with SAT Analyser, in: Proceedings of the 3rd International Conference on Communication, and Information Processing, 2017, ACM, Tokyo. DOI: 10.1145/3162957.3162985
I. D. D. Rubasinghe, A. Meedeniya, I. Perera, Software Artefact Traceability Analyser: A Case-Study on POS System, in: Proceedings of the 6th International Conference on Communications and Broadband Networking, February 24 - 26, 2018, pp.1-5, DOI:10.1145/3193092.3193094
H. Tufail, M. F. Masood, B. Zeb, F. Azam, A Systematic Review of Requirement Traceability Techniques and Tools, in: 2nd International Conference on System Reliability and Safety (ICSRS), 20-22 December, Milan, Italy, 2017, DOI: 10.1109/ICSRS.2017.8272863.
O. Rahmaoui, K.Souali, M. Ouzzif, Improving Software Development Process using Data Traceability Management, in: international Journal of Recent Contributions from Engineering, Science & IT, 2019, pp.52-58. https://doi.org/10.3991/ijes.v7i1.10113.
K. Souali, O. Rahmaoui, M. Ouzzif, An overview of traceability: Definitions and techniques. 4th IEEE Colloquium on Information Science and Technology, Morocco, October, 2016, pp.789-793.
C.D Manning, M. Surdeanu, J. Bauer, J.R Jenny Rose Finkel, S. Bethard, D. McClosk, The Stanford CoreNLP Natural Language Processing Toolkit. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, June 22-27, 2014, pp.55-60.
J.J. Webster, C. Kit, Tokenization as the initial phase in nlp. In Proceedings of the 14th conference on Computational linguistics, Association for Computational Linguistics, Volume 4, 1992, pp. 1106-1110.
H. Saif, M. Fernandez, Y. He, H. Alani, On stopwords, filtering and data sparsity for sentiment analysis of twitter'. In LREC’14 Proceedings of the Ninth International Conference on Language Resources and Evaluation, European Language Resources Association, Reykjavik, Iceland, May 26-31, 2014, pp. 810-817.
J.B. Lovins, Development of a stemming algorithm. In Mechanical Translation and Computational Linguistics, Vol 11, No.1-2, March, June, 1968, pp. 22-31.
OMG-UML :OMG-UML, 2015. OMG Unified Modeling Language (OMG UML). formal/2015-03-01. [Online].
D. Bailey, Java Structures: Data Structures in Java for the Principled Programmer, 2end edition, (2007) pp. 528, McGraw-Hill Science/Engineering/Math.
C. Wohlin, P. Runeson, M. Höst, M.C. Ohlsson, B. Regnell, A. Wesslén 'Experimentation in Software Engineering: An Introduction, 2000.
N. Mustafa, Y. Labiche, D. Towey, Mitigating Threats to Validity in Empirical Software Engineering: A Traceability Case Study. 43rd Annual Computer Software and Applications Conference, USA, July, 2019, pp. 324-329.
Eclipse Specification. 2011, Available from: http://www.eclipse.org/
L. Frias, A. Queralt, A. Oliv, EU-Rent car rentals specification. Technical report, 2003.
DOI: https://doi.org/10.31449/inf.v46i1.3306
This work is licensed under a Creative Commons Attribution 3.0 License.