Barriers to Shift-Left Security: The Unique Pain Points of Writing Automated Tests Involving Security Controls
Barriers to Shift-Left Security: The Unique Pain Points of Writing Automated Tests Involving Security Controls
复制标题
DOI:
10.1145/3475716.3475786
复制
发表时间:
2021-10
期刊:
影响因子:
--
通讯作者:
Danielle Gonzalez;P. Perez;Mehdi Mirakhorli
中科院分区:
文献类型:
--
作者:
Danielle Gonzalez;P. Perez;Mehdi Mirakhorli
Background: Automated unit and integration tests allow software development teams to continuously evaluate their application's behavior and ensure requirements are satisfied. Interest in explicitly testing security at the unit and integration levels has risen as more teams begin to shift security left in their workflows, but there is little insight into any potential pain points developers may experience as they learn to adapt their existing skills to write these tests. Aims: Identify security unit and integration testing pain points that could negatively impact efforts to shift security (testing) left to this level. Method: An mixed-method empirical study was conducted on 525 Stack Overflow and Security Stack Exchange posts related to security unit and integration testing. Latent Dirichlet Allocation (LDA) was applied to identify commonly discussed topics, pain points were learned through qualitative analysis, and links were analyzed to study commonly-shared resources. Results: Nine topics representing security controls, components, and scenarios were identified; Authentication was the most commonly tested control. Developers experienced seven pain points unique to security unit and integration testing, which were all influenced by the complexity of security control designs and implementations. Most linked resources were other Q&A posts, but repositories and documentation for security tools and libraries were also common. Conclusions: Developers may experience several unique pain points when writing tests at this level involving security controls. Additional resources are needed to guide developers through these challenges, which should also influence the creation of strategies and tools to help shift security testing to this level. To accelerate this, actionable recommendations for practitioners and future research directions based on these findings are highlighted.