Behavior-Driven Development (BDD) user stories are widely used in agile methods for capturing user requirements and acceptance criteria due to their simplicity and clarity. However, the concise structure of BDD-based user stories prevents capturing contextual information and connections between them, which help stakeholders understand requirements and uncover potential issues. The contextual goal models (CGMs) can provide explicit relationships between goals and contexts, but manually constructing models is effort-intensive. This paper proposes an automated approach called BUS2C to model contextual goals and detect context conflicts from BDD-based user stories. The aim is to improve requirements analysis by systematically eliciting goals and dependencies. BUS2C approach involves: (1) mapping BDD-based user story elements to CGMs, and (2) merging related models based on similarity. The context conflict detection algorithm checks if contexts associated with different goals are compatible using natural language metrics. We evaluated BUS2C approach through three experiments. First, we showed the effectiveness in merging scattered CGMs with common features. Second, we demonstrated the capability to construct CGMs from BDD-based user stories quickly, assisting modelers. Our merging method also produced models closer to manually built ones versus without merging. Third, we validated that the context conflict detection can successfully identify inconsistencies in small datasets, enhancing requirements quality. Further validation on larger datasets is needed. In conclusion, this work contributes automated techniques to systematically model and analyze contextual goals from BDD-based user stories. By providing unified goal understanding and detecting issues like conflicts, BUS2C approach aims to improve requirements analysis and support adaptive systems development.
Read full abstract