一句话:通过对26名工业从业者的探索性研究,揭示安全特性的选择、工程实践、代码特征与维护挑战。
软件安全至关重要,开发者需系统选择、规划、设计、实现并维护安全特性(如加密、访问控制),以抵御攻击或保护个人数据。虽然这些特性通常由库提供,但集成仍需编写和维护安全关键代码。现有研究多关注库的使用,对实践中如何选择与工程化安全特性、哪些需自定义实现及其维护影响知之甚少,常依赖常识或个别案例。本文通过对26名有经验的工业界参与者开展探索性研究,考察安全特性在实践中的选择与工程化方式、代码层面特征以及从业者面临的挑战。基于实证数据,论文总结了工程实践洞见,并验证了四个常见假设。
Software security is of utmost importance for most software systems. Developers must systematically select, plan, design, implement, and especially, maintain and evolve security features-functionalities to mitigate attacks or protect personal data such as cryptography or access control-to ensure the security of their software. Although security features are usually available in libraries, integrating security features requires writing and maintaining additional security-critical code. While there have been studies on the use of such libraries, surprisingly little is known about how developers engineer security features, how they select what security features to implement and which ones may require custom implementation, and the implications for maintenance. As a result, we currently rely on assumptions that are largely based on common sense or individual examples. However, to provide them with effective solutions, researchers need hard empirical data to understand what practitioners need and how they view security-data that we currently lack. To fill this gap, we contribute an exploratory study with 26 knowledgeable industrial participants. We study how security features of software systems are selected and engineered in practice, what their code- level characteristics are, and what challenges practitioners face. Based on the empirical data gathered, we provide insights into engineering practices and validate four common assumptions.
DOI 原文 ·
@inproceedings{paperbot8752,
title = {An Exploratory Study on the Engineering of Security Features},
author = {Kevin Hermann and Sven Peldszus and Jan-Philipp Steghöfer and Thorsten Berger},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00184}
}