English
Related papers

Related papers: Build It, Break It, Fix It: Contesting Secure Deve…

200 papers

This paper presents a technique for automatically constructing a fix for buggy concurrent programs: given a concurrent program that does not satisfy user-provided assertions, we infer atomic blocks that fix the program. An atomic block…

Software Engineering · Computer Science 2014-03-10 Saurabh Joshi , Akash Lal

Symbolic Execution is a formal method that can be used to verify the behavior of computer programs and detect software vulnerabilities. Compared to other testing methods such as fuzzing, Symbolic Execution has the advantage of providing…

Cryptography and Security · Computer Science 2025-09-29 Christopher Scherb , Luc Bryan Heitz , Hermann Grieder , Olivier Mattmann

To keep up with the growing number of cyber-attacks and associated threats, there is an ever-increasing demand for cybersecurity professionals and new methods and technologies. Training new cybersecurity professionals is a challenging task…

Cryptography and Security · Computer Science 2024-04-19 Kamil Malinka , Anton Firc , Pavel Loutocký , Jakub Vostoupal , Andrej Krištofík , František Kasl

The open-source Helix++ project improves the security posture of computing platforms by applying cutting-edge cybersecurity techniques to diversify and harden software automatically. A distinguishing feature of Helix++ is that it does not…

Cryptography and Security · Computer Science 2023-04-12 Jack W. Davidson , Jason D. Hiser , Anh Nguyen-Tuong

The C and C++ programming languages are notoriously insecure yet remain indispensable. Developers therefore resort to a multi-pronged approach to find security issues before adversaries. These include manual, static, and dynamic program…

Cryptography and Security · Computer Science 2018-06-13 Dokyung Song , Julian Lettner , Prabhu Rajasekaran , Yeoul Na , Stijn Volckaert , Per Larsen , Michael Franz

Debugging, finding and fixing bugs in code, is a heterogeneous process that shapes novice learners' self-beliefs and motivation in computing. Our Debugging by Design intervention (DbD) provocatively puts students in control over bugs by…

Computers and Society · Computer Science 2023-05-05 Luis Morales-Navarro , Deborah A. Fields , Michael Giang , Yasmin B Kafai

The number of people accessing online services is increasing day by day, and with new users, comes a greater need for effective and responsive cyber-security. Our goal in this study was to find out if there are common patterns within the…

Cryptography and Security · Computer Science 2024-05-15 Gábor Antal , Balázs Mosolygó , Norbert Vándor , Péter Hegedüs

Effective software safety standards will contribute to confidence, or assurance, in the safety of the systems in which the software is used. It is infeasible to demonstrate a correlation between standards and accidents, but there is an…

Software Engineering · Computer Science 2014-04-29 John A. McDermid

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Software testing is the process of testing the functionality and correctness of software by running…

Software Engineering · Computer Science 2010-01-26 S. S. Riaz Ahamed

Fixing software bugs has always been an essential and time-consuming process in software development. Fixing concurrency bugs has become especially critical in the multicore era. However, fixing concurrency bugs is challenging due to…

Software Engineering · Computer Science 2024-01-10 Sanjay Malakar , Tameem Bin Haider , Rifat Shahriar

Software testing is an important phase in the software development life-cycle because it helps in identifying bugs in a software system before it is shipped into the hand of its end users. There are numerous studies on how developers test…

Software Engineering · Computer Science 2019-02-15 Luis Cruz , Rui Abreu , David Lo

One of the prerequisites of any organization is an unvarying sustainability in the dynamic and competitive industrial environment. Development of high quality software is therefore an inevitable constraint of any software industry. Defect…

Software Engineering · Computer Science 2012-04-03 T. R. Gopalakrishnan Nair , V. Suma , Pranesh Kumar Tiwari

"Moving fast, and breaking things", instead of "being safe and secure", is the credo of the IT industry. In this paper, we take a look at how we keep falling for the same security issues, and what we can learn from aviation safety to learn…

Cryptography and Security · Computer Science 2019-11-28 Tobias Fiebig

Continuous Integration (CI) testing is a popular software development technique that allows developers to easily check that their code can build successfully and pass tests across various system environments. In order to use a CI platform,…

Software Engineering · Computer Science 2018-05-14 Mark Santolucito , Jialu Zhang , Ennan Zhai , Ruzica Piskac

Background: Despite the widespread use of automated security defect detection tools, software projects still contain many security defects that could result in serious damage. Such tools are largely context-insensitive and may not cover all…

Software Engineering · Computer Science 2023-07-06 Jiaxin Yu , Liming Fu , Peng Liang , Amjed Tahir , Mojtaba Shahin

As collaborative coding environments make it easier to contribute to software projects, the number of developers involved in these projects keeps increasing. This increase makes it more difficult for code reviewers to deal with buggy…

Software Engineering · Computer Science 2020-04-08 Filipe Falcão , Caio Barbosa , Baldoino Fonseca , Alessandro Garcia , Márcio Ribeiro , Rohit Ghey

Software testing is a mandatory activity in any serious software development process, as bugs are a reality in software development. This raises the question of quality: good tests are effective in finding bugs, but until a test case…

Software Engineering · Computer Science 2023-07-14 Daniel Lucrédio , Auri Marcelo Rizzo Vincenzi , Eduardo Santana de Almeida , Iftekhar Ahmed

Given programming languages can provide different types and levels of security support, it is critically important to consider security aspects while selecting programming languages for developing software systems. Inadequate consideration…

Software Engineering · Computer Science 2021-11-29 Roland Croft , Yongzheng Xie , Mansooreh Zahedi , M. Ali Babar , Christoph Treude

Incremental and parallel builds are crucial features of modern build systems. Parallelism enables fast builds by running independent tasks simultaneously, while incrementality saves time and computing resources by processing the build…

Software Engineering · Computer Science 2023-12-05 Thodoris Sotiropoulos , Stefanos Chaliasos , Dimitris Mitropoulos , Diomidis Spinellis

A Bug Inducing Commit (BIC) is a commit that introduces a software bug into the codebase. Knowing the relevant BIC for a given bug can provide valuable information for debugging as well as bug triaging. However, existing BIC identification…

Software Engineering · Computer Science 2023-02-16 Gabin An , Jingun Hong , Naryeong Kim , Shin Yoo