Searched for: department%3A%22Software%255C%252BTechnology%22
(1 - 20 of 48)

Pages

document
van Dinten, I. (author), Derakhshanfar, Pouria (author), Panichella, A. (author), Zaidman, A.E. (author)
Cyber-Physical Systems (CPSs) have gained traction in recent years. A major non-functional quality of CPS is performance since it affects both usability and security. This critical quality attribute depends on the specialized hardware, simulation engines, and environmental factors that characterize the system under analysis. While a large body...
journal article 2024
document
Keshani, M. (author), Gousios, G. (author), Proksch, S. (author)
Call Graphs are a rich data source and form the foundation for advanced static analyses that can, for example, detect security vulnerabilities or dead code. This information is invaluable when it is immediately available, such as in the output of a build system. Call Graph generation is a whole-program analysis: not just the application, but...
journal article 2024
document
Khatami, Ali (author), Zaidman, A.E. (author)
To ensure the quality of software systems, software engineers can make use of a variety of quality assurance approaches, for example, software testing, modern code review, automated static analysis, and build automation. Each of these quality assurance practices have been studied in depth in isolation, but there is a clear knowledge gap when...
journal article 2024
document
Zhang, Xunhui (author), Yu, Yue (author), Gousios, G. (author), Rastogi, A. (author)
Context: The pull-based development model is widely used in open source projects, leading to the emergence of trends in distributed software development. One aspect that has garnered significant attention concerning pull request decisions is the identification of explanatory factors. Objective: This study builds on a decade of research on...
journal article 2023
document
Derakhshanfar, P. (author), Devroey, Xavier (author), Panichella, A. (author), Zaidman, A.E. (author), van Deursen, A. (author)
Search-based approaches have been used in the literature to automate the process of creating unit test cases. However, related work has shown that generated tests with high code coverage could be ineffective, i.e., they may not detect all faults or kill all injected mutants. In this paper, we propose Cling, an integration-level test case...
journal article 2023
document
Kula, E. (author), Greuter, Eric (author), van Deursen, A. (author), Gousios, G. (author)
Late delivery of software projects and cost overruns have been common problems in the software industry for decades. Both problems are manifestations of deficiencies in effort estimation during project planning. With software projects being complex socio-technical systems, a large pool of factors can affect effort estimation and on-time...
journal article 2022
document
Maddila, C.S. (author), Upadrasta, Sai Surya Upadrasta (author), Bansal, Chetan (author), Nagappan, Nachiappan (author), Gousios, G. (author), van Deursen, A. (author)
Pull requests are a key part of the collaborative software development and code review process today. However, pull requests can also slow down the software development process when the reviewer(s) or the author do not actively engage with the pull request. In this work, we design an end-to-end service, Nudge, for accelerating overdue pull...
journal article 2022
document
Hejderup, J.I. (author), Beller, M.M. (author), Triantafyllou, K. (author), Gousios, G. (author)
Modern programming languages such as Java, JavaScript, and Rust encourage software reuse by hosting diverse and fast-growing repositories of highly interdependent packages (i.e., reusable libraries) for their users. The standard way to study the interdependence between software packages is to infer a package dependency network by parsing...
journal article 2022
document
Kotti, Zoe (author), Gousios, G. (author), Spinellis, D. (author)
Existing work on the practical impact of software engineering (SE) research examines industrial relevance rather than adoption of study results, hence the question of how results have been practically applied remains open. To answer this and investigate the outcomes of impactful research, we performed a quantitative and qualitative analysis of 4...
journal article 2022
document
Maddila, C.S. (author), Nagappan, Nachiappan (author), Bird, Christian (author), Gousios, G. (author), van Deursen, A. (author)
Modern, complex software systems are being continuously extended and adjusted. The developers responsible for this may come from different teams or organizations, and may be distributed over the world. This may make it difficult to keep track of what other developers are doing, which may result in multiple developers concurrently editing the...
journal article 2022
document
Haakman, Mark (author), Cruz, Luis (author), Huijgens, H.K.M. (author), van Deursen, A. (author)
Tech-leading organizations are embracing the forthcoming artificial intelligence revolution. Intelligent systems are replacing and cooperating with traditional software components. Thus, the same development processes and standards in software engineering ought to be complied in artificial intelligence systems. This study aims to understand the...
journal article 2021
document
Barros Cândido, J. (author), Aniche, Maurício (author), van Deursen, A. (author)
Modern software development and operations rely on monitoring to understand how systems behave in production. The data provided by application logs and runtime environment are essential to detect and diagnose undesired behavior and improve system reliability. However, despite the rich ecosystem around industry- ready log solutions, monitoring...
journal article 2021
document
Soltani, M. (author), Derakhshanfar, P. (author), Devroey, Xavier (author), van Deursen, A. (author)
Crash reproduction approaches help developers during debugging by generating a test case that reproduces a given crash. Several solutions have been proposed to automate this task. However, the proposed solutions have been evaluated on a limited number of projects, making comparison difficult. In this paper, we enhance this line of research by...
journal article 2020
document
Derakhshanfar, P. (author), Devroey, Xavier (author), Perrouin, Gilles (author), Zaidman, A.E. (author), van Deursen, A. (author)
Search-based crash reproduction approaches assist developers during debugging by generating a test case, which reproduces a crash given its stack trace. One of the fundamental steps of this approach is creating objects needed to trigger the crash. One way to overcome this limitation is seeding: using information about the application during the...
journal article 2020
document
Soltani, M. (author), Panichella, A. (author), van Deursen, A. (author)
Software systems fail. These failures are often reported to issue tracking systems, where they are prioritized and assigned to responsible developers to be investigated. When developers debug software, they need to reproduce the reported failure in order to verify whether their fix actually prevents the failure from happening again. Since...
journal article 2020
document
Tómasdóttir, Kristín (author), Aniche, Maurício (author), van Deursen, A. (author)
A linter is a static analysis tool that warns software developers about possible code errors or violations to coding standards. By using such a tool, errors can be surfaced early in the development process when they are cheaper to fix. For a linter to be successful, it is important to understand the needs and challenges of developers when using...
journal article 2020
document
di Biase, M. (author), Bruntink, Magiel (author), van Deursen, A. (author), Bacchelli, A. (author)
Background: Code review is a cognitively demanding and time-consuming process. Previous qualitative studies hinted at how decomposing change sets into multiple yet internally coherent ones would improve the reviewing process. So far, literature provided no quantitative analysis of this hypothesis.<br/>Aims: (1) Quantitatively measure the effects...
journal article 2019
document
Perez, Alexandre (author), Abreu, Rui (author), van Deursen, A. (author)
Current metrics for assessing the adequacy of a test-suite plainly focus on the number of components (be it lines, branches, paths) covered by the suite, but do not explicitly check how the tests actually exercise these components and whether they provide enough information so that spectrum-based fault localization techniques can perform...
journal article 2019
document
Völter, Markus (author), Kolb, Bernd (author), Szabo, T. (author), Ratiu, Daniel (author), van Deursen, A. (author)
Language workbenches are touted as a promising technology to engineer languages for use in a wide range of domains, from programming to science to business. However, not many real-world case studies exist that evaluate the suitability of language workbench technology for this task. This paper contains such a case study. In particular, we...
journal article 2019
document
Dintzner, N.J.R. (author), van Deursen, A. (author), Pinzger, M (author)
The evolution of highly configurable systems is known to be a challenging task. Thorough understanding of configuration options their relationships, and their implementation in various types of artefacts (variability model, mapping, and implementation) is required to avoid compilation errors, invalid products, or dead code. Recent studies...
journal article 2018
Searched for: department%3A%22Software%255C%252BTechnology%22
(1 - 20 of 48)

Pages