Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Elicitation of functional requirements from the application programming interface documentation for functional testing

https://doi.org/10.15514/ISPRAS-2022-34(1)-1

Abstract

We address a common problem in this paper. The only available documentation for a computer program consists of a user API documentation while we need to identify functional requirements and build test suite to test them. We describe a technique for functional requirements elicitation from the user API documentation. Requirements management tool Requality is exploited in this technique. The tool has been used in several industrial software verification projects.

About the Authors

Evgeny Anatolyevich GERLITS
Ivannikov Institute for System Programming of the Russian Academy of Scienceskildishev@ispras.ru
Russian Federation

Researcher at the Software Engineering Department 



Denis Stepanovich KILDISHEV
Ivannikov Institute for System Programming of the Russian Academy of Scienceskildishev@ispras.ru
Russian Federation

Junior Researcher of the Software Engineering Department



Alexey Vladimirovich KHOROSHILOV
Ivannikov Institute for System Programming of the Russian Academy of Sciences, Lomonosov Moscow State University, Moscow Institute of Physics and Technology (MIPT), National Research University, Higher School of Economics
Russian Federation

Ph.D. in Physics and Mathematics, Leading Researcher, Director of the Linux OS Verification Center at ISP RAS, Associate Professor of System Programming Departments at Moscow State University, the Higher School of Economics, and Moscow Institute of Physics and Technology



References

1. DO-178C. Software Considerations in Airborne Systems and Equipment Certification. RTCA SC-205 and EUROCAE WG-12 Std., 01 2012.

2. V.V. Kulyamin, N.V. Pakulin et al. Formalization of requirements in practice. Preprints of the Institute for System Programming of the Russian Academy of Sciences, Preprint 13, 2006, 70 p. (in Russian) / В.В. Кулямин, Н.В. Пакулин и др. Формализация требований на практике. Препринты Института системного программирования РАН, Препринт 13, 2006 г., 70 стр.

3. ISO/IEC/IEEE International Standard - Systems and software engineering – Life cycle processes – Requirements engineering, ISO and IEC and IEEE Std., 11 2018.

4. D. Kildishev and A. Khoroshilov. Developing requirements management tool for safety-critical systems. In Proceedings of the International Conference on Actual Problems of Systems and Software Engineering, 2019, pp. 50-57.

5. N. Gorelits, D. Kildishev, and A. Khoroshilov. Requirement management for safety-critical systems. Overview of solutions. Trudy ISP RAN/Proc. ISP RAS, vol. 31, issue 1, 2019. pp. 25-48 (in Russian). DOI: 10.15514/ISPRAS-2019-31(1)-2 / Н.К. Горелиц, Д.С Кильдишев, А.В. Хорошилов. Управление требованиями к ответственным системам. Обзор решений. Труды ИСП РАН, том 31, вып. 1, 2019 г., стр. 25-48.

6. P. Zielczynski. Requirements Management Using IBM Rational RequisitePro. IBM Press, 2007, 360 p.

7. Portable Operating System Interface, ISO and IEC and JTC 1/SC 22 Std., Rev. 9945:2009, 09 2009.

8. A. Khoroshilov and D. Kildishev. Formalizing metamodel of requirements management system. Trudy ISP RAN/Proc. ISP RAS, vol. 30, issue 5, 2018, pp. 163-176. DOI: 10.15514/ISPRAS-2018-30(5)-10.

9. R. Ocker, J. Fjermestad et al. Effects of four modes of group communication on the outcomes of software requirements determination. Journal of Management Information Systems, vol. 15, issue 6, 1998, pp. 99-118.

10. K. Wiegers and J. Beatty. Software Requirements. Microsoft Press, 2013, 672 p.

11. Z. Zhang. Effective requirements development – A comparison of requirements elicitation techniques. In Proc. of the International Conference on Software Quality Management, 2007, pp. 225–240.

12. T. DeMarco. Structure Analysis and System Specification. In Pioneers and Their Contributions to Software Engineering, Springer, 1979, pp. 255-288.

13. R. Shiffman and R. Greenes. Improving clinical guidelines with logic and decision-table techniques: Application to hepatitis immunization recommendations. Medical Decision Making, vol. 14, no. 3, 1994, pp. 245-254.

14. J. Beatty and A. Chen. Visual models for software requirements. Microsoft Press, 2012, 480 p.

15. N. Niu and S. Easterbrook. Extracting and modeling product line functional requirements. In Proc. of the 16th IEEE International Requirements Engineering Conference, 2008, pp. 155-164.

16. M. Fagan. Design and code inspections to reduce errors in program development. IBM Systems Journal, vol. 15, no. 3, 1976, pp. 182-211

17. D. Richardson and L. Clarke. A partition analysis method to increase program reliability. In Proc. of the 5th International Conference on Software Engineering, 1981, pp. 244-253.

18. S. Reid. An empirical analysis of equivalence partitioning, boundary value analysis and random testing. in Proc. of the Fourth International Software Metrics Symposium, 1997, pp. 64-73.

19. S. Sharma and S. Pandey. Article: Revisiting requirements elicitation techniques. International Journal of Computer Applications, vol. 75, no. 12, 2013, pp. 35-39.

20. S. Kimani, E. Panizzi et al. Digital Library Requirements: A Questionnaire-Based Study. In Handbook of Research on Digital Libraries: Design, Development, and Impact. Information Science Reference, 2009, pp. 287-297.

21. Open-Source Projects. Available: https://forge.ispras.ru/projects

22. S. Santos, J. Rufino et al. A portable ARINC 653 standard interface. In Proc. of the 2008 IEEE/AIAA 27th Digital Avionics Systems Conference, 2008, pp. 1.E.2-1-1.E.2-7.

23. J. Eisenstein. Introduction to Natural Language Processing. MIT Press, 2019, 536 p.

24. H. Zhong, L. Zhang et al. Inferring specifications for resources from natural language api documentation. In Proc. of the 2009 IEEE/ACM International Conference on Automated Software Engineering, 2009, pp. 307-318.

25. G. Lami. Quars: A tool for analyzing requirement. Technical report CMU/SEI-2005-TR-014 ESC-TR-2005-014, Carnegie Mellon University, Software Engineering Institute, 2005.

26. L. Mich. Nl-oops: From natural language to object oriented requirements using the natural language processing system Lolita. Natural Language Engineering, vol. 2, no. 2, 1996, pp. 161-187.

27. L. Schubert, R. Goebel, and N. Cercone. The structure and organization of a semantic net for comprehension and inference. In Associative Networks. Academic Press, 1979, pp. 121-175.

28. H. Zhong and Z. Su. Detecting api documentation errors. In Proc. of the 2013 ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages and Applications, 2013, pp. 803-816.

29. I. John and J. Dörr. Elicitation of requirements from user documentation. In Proc. of the Ninth International Workshop on Requirements Engineering: Foundation for Software Quality, 2003.


Review

For citations:


GERLITS E.A., KILDISHEV D.S., KHOROSHILOV A.V. Elicitation of functional requirements from the application programming interface documentation for functional testing. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2022;34(1):7-22. https://doi.org/10.15514/ISPRAS-2022-34(1)-1



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)