English
Related papers

Related papers: What Java Developers Know About Compatibility, And…

200 papers

Dependencies between types in object-oriented software can be viewed as directed graphs, with types as nodes and dependencies as edges. The in-degree and out-degree distributions of such graphs have quite different forms, with the former…

Software Engineering · Computer Science 2008-02-19 G. J. Baxter , M. R. Frean

Modularity is a desirable characteristic for software systems. In this article we propose to use a quantitative method from complex network sciences to estimate the coherence between the modularity of the dependency network of large open…

Software Engineering · Computer Science 2013-03-04 Marcelo Serrano Zanetti , Frank Schweitzer

Programming languages often demarcate the internal sandbox, consisting of entities such as objects and variables, from the outside world, e.g., files or network. Although communication with the external world poses fundamental challenges…

Software Engineering · Computer Science 2023-06-22 Matúš Sulír , Sergej Chodarev , Milan Nosáľ

During the software evolution, existing features may be adversely affected by new changes, which is well known as regression errors. Maintaining a high-quality test suite is helpful to prevent regression errors, whereas it heavily depends…

Software Engineering · Computer Science 2020-09-23 Tao Ji , Liqian Chen , Xiaoguang Mao , Xin Yi , Jiahong Jiang

During compilation from Java source code to bytecode, some information is irreversibly lost. In other words, compilation and decompilation of Java code is not symmetric. Consequently, decompilation, which aims at producing source code from…

Software Engineering · Computer Science 2020-05-27 Nicolas Harrand , César Soto-Valero , Martin Monperrus , Benoit Baudry

When writing source code, programmers have varying levels of freedom when it comes to the creation and use of identifiers. Do they habitually use the same identifiers, names that are different to those used by others? Is it then possible to…

Software Engineering · Computer Science 2021-02-01 Georgia Frantzeskou , Stephen G. MacDonell , Efstathios Stamatatos , Stelios Georgiou , Stefanos Gritzalis

Continuous Integration (CI) implies that a whole developer team works together on the mainline of a software project. CI systems automate the builds of a software. Sometimes a developer checks in code, which breaks the build. A broken build…

Software Engineering · Computer Science 2017-03-30 Klérisson V. R. Paixão , Crícia Z. Felício , Fernanda M. Delfim , Marcelo de A. Maia

Programming courses can be challenging for first year university students, especially for those without prior coding experience. Students initially struggle with code syntax, but as more advanced topics are introduced across a semester, the…

Programming Languages · Computer Science 2024-04-10 Valdemar Švábenský , Maciej Pankiewicz , Jiayi Zhang , Elizabeth B. Cloude , Ryan S. Baker , Eric Fouh

Java projects are often built on top of various third-party libraries. If multiple versions of a library exist on the classpath, JVM will only load one version and shadow the others, which we refer to as dependency conflicts. This would…

Software Engineering · Computer Science 2020-06-16 Ying Wang , Rongxin Wu , Chao Wang , Ming Wen , Yepang Liu , Shing-Chi Cheung , Hai Yu , Chang Xu , Zhiliang Zhu

APIs are the primary mechanism for developers to gain access to externally defined services and tools. However, previous research has revealed API misuses that violate the contract of APIs to be prevalent. Such misuses can have harmful…

Cryptography and Security · Computer Science 2021-05-18 Rodrigo Bonifacio , Stefan Krüger , Krishna Narasimhan , Eric Bodden , Mira Mezini

This paper studies binary linear programming problems in the presence of uncertainties that may cause solution values to change during implementation. This type of uncertainty, termed implementation uncertainty, is modeled explicitly…

Optimization and Control · Mathematics 2021-09-29 Jose E. Ramirez-Calderon , V. Jorge Leon

Vibe Coding (VC) is a form of software development assisted by generative AI, in which developers describe the intended functionality or logic via natural language prompts, and the AI system generates the corresponding source code. VC can…

Software Engineering · Computer Science 2025-12-16 Muhammad Waseem , Aakash Ahmad , Kai-Kristian Kemell , Jussi Rasku , Sami Lahti , Kalle Mäkelä , Pekka Abrahamsson

Dynamic language features are widely available in programming languages to implement functionality that can adapt to multiple usage contexts, enabling reuse. Functionality such as data binding , object-relational mapping and user interface…

Software Engineering · Computer Science 2022-04-05 Li Sui , Shawn Rasheed , Amjed Tahir , Jens Dietrich

The security of software builds has attracted increased attention in recent years in response to incidents like solarwinds and xz. Now, several companies including Oracle and Google rebuild open source projects in a secure environment and…

Cryptography and Security · Computer Science 2025-08-05 Jens Dietrich , Behnaz Hassanshahi

The identification of vulnerabilities is an important element in the software development life cycle to ensure the security of software. While vulnerability identification based on the source code is a well studied field, the identification…

Cryptography and Security · Computer Science 2022-12-05 Andreas Schaad , Dominik Binder

Modern programming languages, such as Java and C#, typically provide features that handle exceptions. These features separate error-handling code from regular source code and are proven to enhance the practice of software reliability,…

Software Engineering · Computer Science 2017-04-05 Guilherme B. de Pádua , Weiyi Shang

In managed languages, serialization of objects is typically done in bespoke binary formats such as Protobuf, or markup languages such as XML or JSON. The major limitation of these formats is readability. Human developers cannot read binary…

Software Engineering · Computer Science 2025-12-16 Julian Wachter , Deepika Tiwari , Martin Monperrus , Benoit Baudry

In the past couple of decades, significant research efforts have been devoted to the prediction of software bugs (i.e., defects). In general, these works leverage a diverse set of metrics, tools, and techniques to predict which classes,…

Software Engineering · Computer Science 2024-08-06 Ehsan Mashhadi , Shaiful Chowdhury , Somayeh Modaberi , Hadi Hemmati , Gias Uddin

Engineering software systems is a multidisciplinary activity, whereby a number of artifacts must be created - and maintained - synchronously. In this paper we investigate whether production code and the accompanying tests co-evolve by…

Software Engineering · Computer Science 2007-05-25 Andy Zaidman , Bart Van Rompaey , Serge Demeyer , Arie van Deursen

Re-using open-source software (OSS) can avoid reinventing the wheel, but failing to keep it up-to-date can lead to missing new features and persistent bugs or vulnerabilities that have already been resolved. The use of outdated OSS…

Software Engineering · Computer Science 2025-11-11 Rui Lu , Lyuye Zhang , Kaixuan Li , Min Zhang , Yixiang Chen
‹ Prev 1 4 5 6 7 8 10 Next ›