English
Related papers

Related papers: Modularization of Research Software for Collaborat…

200 papers

Diversity is prevalent in modern software systems. Several system variants exist at the same time in order to adapt to changing user requirements. Additionally, software systems evolve over time in order to adjust to unanticipated changes…

Software Engineering · Computer Science 2014-09-09 Arne Haber , Holger Renel , Bernhard Rumpe , Ina Schaefer

Deciding what constitutes a single module, what classes belong to which module or the right set of modules for a specific software system has always been a challenging task. The problem is even harder in large-scale software systems…

Software Engineering · Computer Science 2021-04-12 Casper Schröder , Adriaan van der Feltz , Annibale Panichella , Maurício Aniche

The aim of this paper to provide the solution microservices architecture as a popular alternative to monolithic architecture. It discusses the advantages of microservices and the challenges that organizations face when transitioning from a…

Software Engineering · Computer Science 2023-09-08 Momil Seedat , Qaisar Abbas , Nadeem Ahmad

Sustainable software ecosystems are difficult to build, and require concerted effort, community norms and collaborations. In science it is especially important to establish communities in which faculty, staff, students and open-source…

Software Engineering · Computer Science 2013-09-13 Marcus D. Hanwell , Amitha Perera , Wes Turner , Patrick O'Leary , Katie Osterdahl , Bill Hoffman , Will Schroeder

Advanced reverse engineering tools are required to cope with the complexity of software systems and the specific requirements of numerous different tasks (re-architecturing, migration, evolution). Consequently, reverse engineering tools…

Studies over the past decade demonstrated that developers contributing to open source software systems tend to self-organize in "emerging" communities. This latent community structure has a significant impact on software quality. While…

Software Engineering · Computer Science 2021-04-09 Usman Ashraf , Christoph Mayr-Dorn , Atif Mashkoor , Alexander Egyed , Sebastiano Panichella

This paper introduces a conceptual, yet quantifiable, architecture framework by extending the notion of system modularity in its broadest sense. Acknowledging that modularity is not a binary feature and comes in various types and levels,…

Systems and Control · Computer Science 2016-08-05 Babak Heydari , Mohsen Mosleh , Kia Dalili

Requirements Engineering has recently been greatly influenced by the way how firms use Open Source Software (OSS) and Software Ecosystems (SECOs) as a part of their product development and business models. This is further emphasized by the…

Software Engineering · Computer Science 2022-08-05 Johan Linåker , Krzysztof Wnuk

There are many dimensions of software complexity. In this article, we explore how structural complexity is measured and used to study and control evolving software systems. We also present the current research challenges and emerging trends…

Software Engineering · Computer Science 2016-08-05 Tom Mens

A number of companies are trying to migrate large monolithic software systems to Service Oriented Architectures. A common approach to do this is to first identify and describe desired services (i.e., create a model), and then to locate…

Software Engineering · Computer Science 2010-12-21 Hari S. Gupta , Deepak D'Souza , Raghavan Komondoor , Girish M. Rama

One of the purported ways to increase productivity and reduce development time is to reuse existing features and modules. If reuse is adopted, logically then, it will have a direct impact on a system's evolution. However, the evidence in…

Software Engineering · Computer Science 2021-04-06 Amjed Tahir , Sherlock A. Licorish , Stephen G. MacDonell

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

Building software that can support the huge growth in data and computation required by modern research needs individuals with increasingly specialist skill sets that take time to develop and maintain. The Research Software Engineering…

Software Engineering · Computer Science 2023-01-26 J. Cohen , D. S. Katz , M. Barker , N. Chue Hong , R. Haines , C. Jay

Inspired from human cognition, machine learning systems are gradually revealing advantages of sparser and more modular architectures. Recent work demonstrates that not only do some modular architectures generalize well, but they also lead…

Machine Learning · Computer Science 2022-06-07 Sarthak Mittal , Yoshua Bengio , Guillaume Lajoie

The end of Dennard scaling combined with stagnation in architectural and compiler optimizations makes it challenging to achieve significant performance deltas. Solutions based solely in hardware or software are no longer sufficient to…

Within an increasing number of domains an important emerging need is the ability for technically naive users to compose computational elements into novel configurations. Examples include astronomers who create new analysis pipelines to…

Software Engineering · Computer Science 2012-10-19 David Garlan , Vishal Dwivedi , Ivan Ruchkin , Bradley Schmerl

The introduction of machine learning (ML) components in software projects has created the need for software engineers to collaborate with data scientists and other specialists. While collaboration can always be challenging, ML introduces…

Software Engineering · Computer Science 2022-02-14 Nadia Nahar , Shurui Zhou , Grace Lewis , Christian Kästner

Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding…

Software Engineering · Computer Science 2019-02-05 Amir Saeidi , Jurriaan Hage , Ravi Khadka , Slinger Jansen

Open Source Software (OSS) has been recognized by the software development community as an effective way to deliver software. Unlike traditional software development, OSS development is driven by collaboration among developers spread…

Software Engineering · Computer Science 2020-08-13 Bianca Minetto Napoleão , Fabio Petrillo , Sylvain Hallé