Issues in Chinese Requirements Specifications: Insights from Survey Data and Static Analysis - Jiaying, He; Yap, Ng Keng; Osman, Mohd Hafeez; Hassan, Sa’adah (Society of Visual Informatics, 2024)
Requirements engineering is crucial for software project success. Issues like requirements ambiguity, inconsistency, and unverifiability contribute to unclear, conflicting, or untestable specifications, which can undermine the effectiveness and success of a software project. These issues have been identified as factors contributing to software project failure. However, there’s limited research on the current state of these issues in China. The research objectives of this study are to address the most commonly used methods for expressing Chinese software requirements and uncover issues related to ambiguity, inconsistency, and unverifiability, which can be solved by using artificial intelligence techniques to investigate possible solutions to these problems. An online survey of 422 software professionals in China identifies key issues in Chinese software requirement expressions that AI techniques can address. The study examines various expression methods, tools for enhancing clarity, and challenges specific to Chinese requirements. Findings reveal that ambiguity, inconsistency, and unverifiability significantly impact project success. While natural language specification and prototyping improve clarity, they may increase the time required for requirements engineering. Effective communication is typically achieved through natural language, prototyping, storyboarding, and pseudo-coding, whereas decision tables and block diagrams are less commonly used and linked to problematic requirements. Using tables, prototype diagrams, and natural language descriptions helps mitigate these issues, though it may extend engineering time. The study suggests strategies to improve the efficiency and quality of requirements expression and highlights the need to develop Chinese boilerplates and refining tools to enhance clarity in the future.