English
Related papers

Related papers: Evaluating the Dependency Between Cyclomatic Compl…

200 papers

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áľ

With even the most trivial of applications now being written on top of millions of lines code of libraries, API's, and programming languages, much of the complexity that used to exist when designing software has been abstracted away to…

Software Engineering · Computer Science 2017-11-29 Charles Hathaway , Ron Eglash , Mukkai Krishnamoorthy

This paper presents a refined complexity calculus model: r-Complexity, a new asymptotic notation that offers better complexity feedback for similar programs than the traditional Bachmann-Landau notation, providing subtle insights even for…

Computational Complexity · Computer Science 2025-11-04 Rares Folea , Emil-Ioan Slusanschi

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

Forking-based development has made it easier and straightforward for developers to contribute to open-source software (OSS). Developers can fork an existing project and add changes in their local version without interrupting the development…

Software Engineering · Computer Science 2021-12-30 Anurag Dhasmana , Arindaam Roy , Divjeet Singh Jas , Kiranpreet Kaur , Pinn Prugsanapan

Software systems are composed of many interacting elements. A natural way to abstract over software systems is to model them as graphs. In this paper we consider software dependency graphs of object-oriented software and we study one…

Software Engineering · Computer Science 2017-04-11 Vincenzo Musco , Martin Monperrus , Philippe Preux

Cyclomatic complexity is an incompletely specified but mathematically principled software metric that can be usefully applied to both source and binary code. We consider the application of path homology as a stronger analogue of cyclomatic…

Software Engineering · Computer Science 2020-08-28 Steve Huntsman

Context : Software comprehension and maintenance activities, such as refactoring, are said to be negatively impacted by software complexity. The methods used to measure software product and processes complexity have been thoroughly debated…

Software Engineering · Computer Science 2023-03-07 João Caldeira , Fernando Brito e Abreu , Jorge Cardoso , José Reis

Systematic testing of object-oriented software turned out to be much more complex than testing conventional software. Especially the highly incremental and iterative development cycle demands both many more changes and partially implemented…

Software Engineering · Computer Science 2007-05-23 Mario Winter

Software is among the most complex endeavors of the human mind; large scale systems can have tens of millions of lines of source code. However, seldom is complexity measured above the lowest level of code, and sometimes source code files or…

Software Engineering · Computer Science 2011-05-13 Alejandro Fernández

To create unit tests, it may be necessary to refactor the production code, e.g. by widening access to specific methods or by decomposing classes into smaller units that are easier to test independently. We report on an extensive study to…

Software Engineering · Computer Science 2023-03-28 Pavel Reich , Walid Maalej

In this paper, the authors propose a software metric called Class Activeness Metric which helps to determine the level of accessibility of the members of a class when it is instantiated as objects. Object interactions need to be straight…

Software Engineering · Computer Science 2012-09-24 Sachin Lakra , Deepak Kumar Sharma , Jugnesh Kumar , Ramesh Chandra Verma , T V Prasad

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

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

Real-world programs are neither monolithic nor static -- they are constructed using platform and third party libraries, and both programs and libraries continuously evolve in response to change pressure. In case of the Java language, rules…

Software Engineering · Computer Science 2014-08-13 Jens Dietrich , Kamil Jezek , Premek Brada

Software developers often look for solutions to their code-level problems using the Stack Overflow Q&A website. To receive help, developers frequently submit questions containing sample code segments and the description of the programming…

Software Engineering · Computer Science 2021-12-28 Saikat Mondal , Mohammad Masudur Rahman , Chanchal K. Roy , Kevin Schneider

To improve the efficiency of software maintenance, change prediction techniques have been proposed to predict frequently changing modules. Whereas existing techniques focus primarily on class-level prediction, method-level prediction allows…

Software Engineering · Computer Science 2025-03-06 Hiroto Sugimori , Shinpei Hayashi

Open-source libraries are widely used by software developers to speed up the development of products, however, they can introduce security vulnerabilities, leading to incidents like Log4Shell. With the expanding usage of open-source…

Dependencies between modules can trigger ripple effects when changes are made, making maintenance complex and costly, so minimizing these dependencies is crucial. Consequently, understanding what drives dependencies is important. One…

Software Engineering · Computer Science 2026-03-05 Zushuai Zhang , Elliott Wen , Ewan Tempero

Context: Software development projects increasingly adopt unit testing as a way to identify and correct program faults early in the construction process. Code that is unit tested should therefore have fewer failures associated with it.…

Software Engineering · Computer Science 2023-12-05 Efstathia Chioteli , Ioannis Batas , Diomidis Spinellis