A Natural Language Programming Approach for Requirements-Based Security Testing

Phu X. Mai, Fabrizio Pastore, Arda Goknil, Lionel C. Briand

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

To facilitate communication among stakeholders, software security requirements are typically written in natural language and capture both positive requirements (i.e., what the system is supposed to do to ensure security) and negative requirements (i.e., undesirable behavior undermining security). In this paper, we tackle the problem of automatically generating executable security test cases from security requirements in natural language (NL). More precisely, since existing approaches for the generation of test cases from NL requirements verify only positive requirements, we focus on the problem of generating test cases from negative requirements. We propose, apply and assess Misuse Case Programming (MCP), an approach that automatically generates security test cases from misuse case specifications (i.e., use case specifications capturing the behavior of malicious users). MCP relies on natural language processing techniques to extract the concepts (e.g., inputs and activities) appearing in requirements specifications and generates executable test cases by matching the extracted concepts to the members of a provided test driver API. MCP has been evaluated in an industrial case study, which provides initial evidence of the feasibility and benefits of the approach.

Original languageEnglish
Title of host publicationProceedings - 29th IEEE International Symposium on Software Reliability Engineering, ISSRE 2018
EditorsSudipto Ghosh, Bojan Cukic, Robin Poston, Roberto Natella, Nuno Laranjeiro
PublisherIEEE Computer Society
Pages58-69
Number of pages12
ISBN (Electronic)9781538683217
DOIs
Publication statusPublished - 16 Nov 2018
Externally publishedYes
Event29th IEEE International Symposium on Software Reliability Engineering, ISSRE 2018 - Memphis, United States
Duration: 15 Oct 201818 Oct 2018

Publication series

NameProceedings - International Symposium on Software Reliability Engineering, ISSRE
Volume2018-October
ISSN (Print)1071-9458

Conference

Conference29th IEEE International Symposium on Software Reliability Engineering, ISSRE 2018
Country/TerritoryUnited States
CityMemphis
Period15/10/1818/10/18

Keywords

  • Natural Language Processing
  • Natural Language Programming
  • Natural Language Requirements
  • System Security Testing

Fingerprint

Dive into the research topics of 'A Natural Language Programming Approach for Requirements-Based Security Testing'. Together they form a unique fingerprint.

Cite this