Toward leveraging Gherkin Controlled Natural Language and Machine Translation for Global Product Information Development (2018)

Abstract: Machine Translation (MT) already plays an important part in software development process at McAfee where the technology can be leveraged to provide early builds for localization and internationalization testing teams. Behavior Driven Development (BDD) has been growing in usage as a development methodology in McAfee. Within BDD, the Gherkin Controlled Natural Language (CNL) is a syntax and common terminology set that is used to describe the software or business process in a User Story. Given there exists this control on the language to describe User Stories for software features using Gherkin, we seek to use Machine Translation to Globalize it at high accuracy and without PostEditing and reuse it as Product Information. This enables global product information development to happen as part of the Software Development Life Cycle (SDLC) and at low cost.

## introduction bdd is fast becoming a standard in software development, especially where the user interface is primarily web based. it aims to satisfy needs of customers in software design by representing the behavior of the user as part of the plan. using the gherkin cnl, which is designed to work with bdd frameworks, a business manager who is not a developer can quickly describe how the software should function using examples. example based learning has advantages for understanding and retention of information. it enhances the effectiveness of user stories in agile software development by reducing ambiguity and enabling non-technical personnel to be involved. it also enhances the ability for a person to retain the information better by the application of a cognitive load to the user as they read. gherkin could possibly be used as a superior learning asset to traditional information development for complex software processes by virtue that the reader employs more mental effort as they read which helps them retain the information better. in mcafee, software design is managed through jira, a tool for planning, tracking and managing agile software development. gherkin descriptions are not currently part of that system and are rarely shared outside of the software development and testing teams. by accessing the test code, we get access to the gherkin which in turn can facilitate the future possibilities such as information development. in turn, the ability to quickly leverage this content for international markets at low cost is an attractive possibility for the business. in this paper, we explore how gherkin can be organized and stored in jira. we test a baseline on how effective gherkin is with product based machine translation engines. we then optimize the gherkin as a better information asset, and in turn optimize the mt to ensure accuracy of message by training glossaries of product and gherkin terminology. ## process here we will explain a little about gherkin and how it will be stored for access. then we process it through our product mt engines which are trained on the latest user interface (ui) translations before running two types of tests on the outputs. we then modify the gherkin source and re-run the process to test for improvement. ## discussion and conclusions we proposed a method to further leverage an asset currently in use for software development by leveraging machine translation and nlp tools such as regular expressions. this was done by pre-processing content and optimizing mt engines quickly with one optimization training specifically focused on compliance to terminology. the result is promising showing improvements in many areas based on the analysis of the mt output, and in some cases, is fit for purpose for publishing directly to a customer. in cases where we see drops in usability, the issues stem from the quality of the mt and training/tuning sets. in italian the ui did not translate well even though the same bitext training content was used in training of all languages. we are confident that training more iterations of the engine to address some of the issues directly would prove useful as issues were predominantly terminology based and may require more weight in the training corpora and or an adjustment of the tuning set.