Searched for: +
(1 - 20 of 45)

Pages

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
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
Kula, E. (author), Greuter, Eric (author), van Deursen, A. (author), Gousios, G. (author)
Modern agile software projects are subject to constant change, making it essential to re-asses overall delay risk throughout the project life cycle. Existing effort estimation models are static and not able to incorporate changes occurring during project execution. In this paper, we propose a dynamic model for continuously predicting overall...
conference paper 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), 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
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
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
Hejderup, J.I. (author), Gousios, G. (author)
Developers are increasingly using services such as Dependabot to automate dependency updates. However, recent research has shown that developers perceive such services as unreliable, as they heavily rely on test coverage to detect conflicts in updates. To understand the prevalence of tests exercising dependencies, we calculate the test...
journal article 2022
document
Mir, S.A.M. (author), Latoskinas, Evaldas (author), Proksch, S. (author), Gousios, G. (author)
Dynamic languages, such as Python and Javascript, trade static typing for developer flexibility and productivity. Lack of static typing can cause run-time exceptions and is a major factor for weak IDE support. To alleviate these issues, PEP 484 introduced optional type annotations for Python. As retrofitting types to existing code-bases is...
conference paper 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
Izadi, M. (author), Gismondi, Roberta (author), Gousios, G. (author)
Code completion is an essential feature of IDEs, yet current auto-completers are restricted to either grammar-based or NLP-based single token completions. Both approaches have significant draw-backs: grammar-based autocompletion is restricted in dynamically-typed language environments, whereas NLP-based autocompleters struggle to understand...
conference paper 2022
document
Kula, E. (author), van Deursen, A. (author), Gousios, G. (author)
In agile software development, proper team structures and effort estimates are crucial to ensure the on-time delivery of software projects. Delivery performance can vary due to the influence of changes in teams, resulting in team dynamics that remain largely unexplored. In this paper, we explore the effects of various aspects of teamwork on...
conference paper 2021
document
Sellik, Hendrig (author), van Paridon, Onno (author), Gousios, G. (author), Aniche, Maurício (author)
Mistakes in binary conditions are a source of error in many software systems. They happen when developers use, e.g., < or > instead of <= or >=. These boundary mistakes are hard to find and impose manual, labor-intensive work for software developers. While previous research has been proposing solutions to identify errors in boundary...
conference paper 2021
document
Mir, S.A.M. (author), Latoskinas, Evaldas (author), Gousios, G. (author)
In this paper, we present ManyTypes4Py, a large Python dataset for machine learning (ML)-based type inference. The dataset contains a total of 5, 382 Python projects with more than 869K type annotations. Duplicate source code files were removed to eliminate the negative effect of the duplication bias. To facilitate training and evaluation of...
conference paper 2021
document
Larios Vargas, E. (author), Aniche, Maurício (author), Treude, Christoph (author), Bruntink, Magiel (author), Gousios, G. (author)
The selection of third-party libraries is an essential element of virtually any software development project. However, deciding which libraries to choose is a challenging practical problem. Selecting the wrong library can severely impact a software project in terms of cost, time, and development effort, with the severity of the impact depending...
conference paper 2020
document
Arnar Briem, Jón (author), Smit, Jordi (author), Sellik, Hendrig (author), Rapoport, Pavel (author), Gousios, G. (author), Aniche, Maurício (author)
Mistakes in boundary conditions are the cause of many bugs in software. These mistakes happen when, e.g., developers make use of '<' or '>' in cases where they should have used '<=' or '>='. Mistakes in boundary conditions are often hard to find and manually detecting them might be very time-consuming for developers. While...
conference paper 2020
document
Huijgens, H.K.M. (author), Rastogi, A. (author), Mulders, E.A. (author), Gousios, G. (author), van Deursen, A. (author)
In 2014, a Microsoft study investigated the sort of questions that data science applied to software engineering should answer. This resulted in 145 questions that developers considered relevant for data scientists to answer, thus providing a research agenda to the community. Fast forward to five years, no further studies investigated whether the...
conference paper 2020
document
Pradel, Michael (author), Gousios, G. (author), Liu, Jason (author), Chandra, Satish (author)
Maintaining large code bases written in dynamically typed languages, such as JavaScript or Python, can be challenging due to the absence of type annotations: simple data compatibility errors proliferate, IDE support is limited, and APIs are hard to comprehend. Recent work attempts to address those issues through either static type inference or...
conference paper 2020
document
Abate, Pietro (author), Di Cosmo, Roberto (author), Gousios, G. (author), Zacchiroli, Stefano (author)
Dependency solving is a hard (NP-complete) problem in all non-trivial component models due to either mutually incompatible versions of the same packages or explicitly declared package conflicts. As such, software upgrade planning needs to rely on highly specialized dependency solvers, lest falling into pitfalls such as incompleteness - a...
conference paper 2020
document
Kechagia, M. (author), Devroey, Xavier (author), Panichella, A. (author), Gousios, G. (author), van Deursen, A. (author)
Application Programming Interfaces (APIs) typically come with (implicit) usage constraints. The violations of these constraints (API misuses) can lead to software crashes. Even though there are several tools that can detect API misuses, most of them suffer from a very high rate of false positives. We introduce Catcher, a novel API misuse...
conference paper 2019
Searched for: +
(1 - 20 of 45)

Pages