As software applications get increasingly connected and complex, cybersecurity becomes more and more important to consider during development and evaluation. software engineers need to be aware of various security thr...
详细信息
ISBN:
(纸本)9783031783852;9783031783869
As software applications get increasingly connected and complex, cybersecurity becomes more and more important to consider during development and evaluation. software engineers need to be aware of various security threats and the countermeasures that can be taken to mitigate them. Currently, there is a lack of guidance for software engineers aiming to develop secure web applications. We conducted a design science research study, resulting in a set of guidelines to aid software engineers in developing secure web applications. The set of guidelines was constructed based on interview data with 10 industry practitioners. These guidelines were then evaluated using a survey with 28 respondents. Our results indicate that these proposed guidelines can be applied by software engineers to support the development and assessment of secure web applications in different stages of the software development lifecycle.
This paper describes the origins and evolution of softwareengineering education as it has developed independently of computerscience and electrical engineering programs. The rapid growth of software technology and d...
详细信息
ISBN:
(数字)9783031486395
ISBN:
(纸本)9783031486388;9783031486395
This paper describes the origins and evolution of softwareengineering education as it has developed independently of computerscience and electrical engineering programs. The rapid growth of software technology and development processes has led to the emergence of subdisciplines in softwareengineering, to the extent that it is no longer feasible for software engineers to remain knowledgeable about all of the relevant topics. As a result, it seems likely that softwareengineering education will follow the path taken in other fields, such as law and medicine, where students receive foundational education in softwareengineering, followed by additional education and practice in one or more specialized areas.
Code summarization aims to facilitate code comprehension by automatically generating brief and informative summaries for source code. In software development, different projects often exhibit distinct characteristics....
详细信息
ISBN:
(纸本)9798350395693;9798350395686
Code summarization aims to facilitate code comprehension by automatically generating brief and informative summaries for source code. In software development, different projects often exhibit distinct characteristics. However, existing research frequently overlooks such project-specific knowledge, which may result in sub-optimal summarization performance. In this paper, we propose PRECOS, a retrieval-based method that leverages the historical examples within the project (i.e., internal corpus) for generating better code summaries. First we construct the internal corpus as a datastore, and extend the datastore by retrieving the most relevant examples for the current project from a large-scale external corpus based on the internal corpus. Then during generation, we retrieve the nearest neighbors from the datastore at each decoding step to interpolate the vanilla target-token distribution. For the retrieved neighbors, we introduce a novel locality-aware distance calibration mechanism, which calibrates the retrieval distance based on the locality of the nearest neighbors, thereby providing more accurate predictions. Experimental results demonstrate that PRECOS achieves a substantial improvement of up to 8.5 BLEU scores compared to the model before project-specific enhancement, and can generate better code summaries than other comparison methods while maintaining satisfactory results in additional storage, time overhead, and prediction speed(1).
Component-based softwareengineering (CBSE) is a widely used software development paradigm. With software systems becoming increasingly sophisticated, CBSE provides an effective approach to construct reusable, extensi...
详细信息
ISBN:
(纸本)9783031521829;9783031521836
Component-based softwareengineering (CBSE) is a widely used software development paradigm. With software systems becoming increasingly sophisticated, CBSE provides an effective approach to construct reusable, extensible, and maintainable software systems. Formal verification provides a rigorous and systematic approach to validate the correctness of software systems by mathematically proving properties or checking them exhaustively against specified requirements. Using formal verification techniques in component-based development can further enhance the correctness of the development process. However, the adoption of component-based development supported by formal methods is hardly widespread in the industry. It serves to a limited extent in domains with stringent requirements for safety and reliability. In this paper, we aim to analyze the successful application scenarios of formal methods in component-based development, identify the challenges faced during their application, and explore methods to further broaden their adoption.
This paper proposes an innovative approach to addressing the lack of diversity in softwareengineering education by integrating non-STEM students into mobile app development programs. Leveraging the Challenge-Based Le...
详细信息
Recently, Backend-as-a-Service (BaaS)-enabled serverless functions have been rapidly gaining traction. However, the dependence on specific provider features and configurations still leads to challenges in terms of por...
详细信息
Understanding the runtime behavioral aspects of a software system is fundamental for several softwareengineering tasks, such as testing and code comprehension. For this purpose, typically, one needs to instrument the...
详细信息
The use of technology and information devices contributes to global warming. This issue has also become a concern for UN institutions, as stated in international environmental agreements, which aim to stabilize greenh...
详细信息
History of code elements is essential for software maintenance tasks. However, code refactoring is one of the main causes that makes obtaining a consistent view on code evolution difficult as renaming or moving source...
详细信息
software defect prediction, an integral facet of softwareengineering, proactively identifies and resolves potential flaws before they escalate into disruptive issues during production. Insights gleaned from dedicated...
详细信息
暂无评论