English
Related papers

Related papers: To Type or Not to Type? A Systematic Comparison of…

200 papers

Bug finding tools can find defects in software source code us- ing an automated static analysis. This automation may be able to reduce the time spent for other testing and review activities. For this we need to have a clear understanding of…

Software Engineering · Computer Science 2017-11-15 Stefan Wagner , Jan Jürjens , Claudia Koller , Peter Trischberger

Rapid growth of applying Machine Learning (ML) in different domains, especially in safety-critical areas, increases the need for reliable ML components, i.e., a software component operating based on ML. Understanding the bugs…

Software Engineering · Computer Science 2023-07-28 Mohammad Mehdi Morovati , Amin Nikanjam , Florian Tambon , Foutse Khomh , Zhen Ming , Jiang

Code smells are symptoms of poor design and implementation choices, which might hinder comprehension, increase code complexity and fault-proneness and decrease maintainability of software systems. The aim of our study was to perform a…

Software Engineering · Computer Science 2021-03-02 Peter Kokol , Marko Kokol , Sašo Zagoranski

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…

Software Engineering · Computer Science 2020-03-09 Michael Pradel , Georgios Gousios , Jason Liu , Satish Chandra

Bug tracking tools are vital for managing bugs in any open source as well as proprietary commercial projects. Considering the significance of using an appropriate bug tracking tool, we assess the features offered by 31 open source bug…

Software Engineering · Computer Science 2017-06-22 Sai Anirudh Karre , Anveshi Shukla , Y. Raghu Reddy

App developers aim to create apps that cater to the needs of different types of users. This development approach, also known as the "one-size-fits-all" strategy, involves combining various functionalities into one app. However, this…

Software Engineering · Computer Science 2025-01-15 Yutian Tang , Xiaojiang Du

Technical debt occurs in many different forms across software artifacts. One such form is connected to software architectures where debt emerges in the form of structural anti-patterns across architecture elements, namely, architecture…

Software Engineering · Computer Science 2023-04-03 Damian Andrew Tamburri , Francesca Arcelli Fontana , Riccardo Roveda , Valentina Lenarduzzi

The internet is a major distribution platform for web applications, but there are no effective transparency and audit mechanisms in place for the web. Due to the ephemeral nature of web applications, a client visiting a website has no…

Cryptography and Security · Computer Science 2023-01-13 Ilkan Esiyok , Pascal Berrang , Katriel Cohn-Gordon , Robert Kuennemann

Open source software (OSS), playing an increasingly critical role nowadays, has been commonly adopted and integrated in various software products. For many practitioners, selecting and adopting suitable OSS can help them greatly. Though…

Software Engineering · Computer Science 2021-02-25 Xiaozhou Li , Sergio Moreschini

Code quality remains an abstract concept that fails to get traction at the business level. Consequently, software companies keep trading code quality for time-to-market and new features. The resulting technical debt is estimated to waste up…

Software Engineering · Computer Science 2022-03-10 Adam Tornhill , Markus Borg

Context: Addressing user requests in the form of bug reports and Github issues represents a crucial task of any successful software project. However, user-submitted issue reports tend to widely differ in their quality, and developers spend…

Software Engineering · Computer Science 2021-07-22 Andrea Di Sorbo , Gerardo Canfora , Sebastiano Panichella

Test Case Prioritization (TCP) is an increasingly important regression testing technique for reordering test cases according to a pre-defined goal, particularly as agile practices gain adoption. To better understand these techniques, we…

Software Engineering · Computer Science 2018-06-27 Qi Luo , Kevin Moran , Lingming Zhang , Denys Poshyvanyk

Logging plays a crucial role in software engineering because it is key to perform various tasks including debugging, performance analysis, and detection of anomalies. Despite the importance of log data, the practice of logging still suffers…

Software Engineering · Computer Science 2022-08-16 Keyur Patel , Joao Faccin , Abdelwahab Hamou-Lhadj , Ingrid Nunes

Typical users are known to use and reuse weak passwords. Yet, as cybersecurity concerns continue to rise, understanding the password practices of software developers becomes increasingly important. In this work, we examine developers'…

Software Engineering · Computer Science 2023-07-04 Nikolaos Lykousas , Constantinos Patsakis

Architectural smells (AS) are notorious for their long-term impact on the Maintainability and Evolvability of software systems. The majority of research work has investigated this topic by mining software repositories of open source Java…

Software Engineering · Computer Science 2022-03-17 Darius Sas , Paris Avgeriou , Umut Uyumaz

Large Language Models (LLMs) have demonstrated exceptional coding capability. However, as another critical component of programming proficiency, the debugging capability of LLMs remains relatively unexplored. Previous evaluations of LLMs'…

Software Engineering · Computer Science 2024-06-07 Runchu Tian , Yining Ye , Yujia Qin , Xin Cong , Yankai Lin , Yinxu Pan , Yesai Wu , Haotian Hui , Weichuan Liu , Zhiyuan Liu , Maosong Sun

The fact that the number of users of open source software (OSS) is practically un-limited and that ultimately the software quality is determined by end users experience, makes the usability an even more critical quality attribute than it is…

Software Engineering · Computer Science 2015-07-27 Arif Raza , Luiz Fernando Capretz

Context: Logging is an important part of modern software projects; logs are used in several tasks such as debugging and testing. Due to the complex nature of logging, it remains a difficult task with several pitfalls that could have serious…

Software Engineering · Computer Science 2026-03-11 Nyyti Saarimäki , Donghwan Shin , Domenico Bianculli

Context: Software developers are increasingly facing the challenges of writing code that is not only concurrent but also correct. Objective: To help these developers, it is necessary to understand concurrency topics they are interested in,…

Software Engineering · Computer Science 2021-09-13 Mehdi Bagherzadeh , Syed Ahmed , Srilakshmi Sripathi , Raffi Khatchadourian

Context: Security is vital to software developed for commercial or personal use. Although more organizations are realizing the importance of applying secure coding practices, in many of them, security concerns are not known or addressed…

Software Engineering · Computer Science 2020-11-02 Kazi Zakia Sultana , Zadia Codabux , Byron Williams