English
Related papers

Related papers: Extractive Multi Product-Line Engineering

200 papers

This article describes our experience developing and maintaining automated tests for scientific applications. The main idea evolves around building on already existing tests by cloning and grafting. The idea is demonstrated on a minimal…

Mathematical Software · Computer Science 2015-08-31 Bruno Turcksin , Timo Heister , Wolfgang Bangerth

Reproducibility in research remains hindered by complex systems involving data, models, tools, and algorithms. Studies highlight a reproducibility crisis due to a lack of standardized reporting, code and data sharing, and rigorous…

Software Engineering · Computer Science 2024-11-05 Venkat S. Malladi , Maria Yazykova , Olesya Melnichenko , Yulia Dubinina

Nowadays, customer products like vehicles do not only contain mechanical parts but also a highly complex software and their manufacturers have to offer many variants of technically very similar systems with sometimes only small differences…

Software Engineering · Computer Science 2014-09-24 Christian Berger , Holger Rendel , Bernhard Rumpe , Carsten Busse , Thorsten Jablonski , Fabian Wolf

Typical design flows are hierarchical and rely on assembling many individual technology elements from standard cells to complete boards. Providers use compact models to provide simplified views of their products to their users. Designers…

Hardware Architecture · Computer Science 2021-04-23 Dan Alexandrescu , Aneesh Balakrishnan , Thomas Lange , Maximilien Glorieux

As software has become an integral part of scientific workflows, reproducible research practices must take it into account. In what way? Archiving source code is a necessary but insufficient condition. The ability to redeploy software…

Software Engineering · Computer Science 2021-12-09 Ludovic Courtès

Investigating the code fragments of code clones detected by code clone detection tools is a time-consuming task, especially when a large number of reference source files are available. This paper proposes (i) a method for clustering a clone…

Software Engineering · Computer Science 2021-10-05 Daisuke Nishioka , Toshihiro Kamiya

Analysis pipelines commonly use high-level technologies that are popular when created, but are unlikely to be readable, executable, or sustainable in the long term. A set of criteria is introduced to address this problem: Completeness (no…

Refactoring is a critical task in software maintenance, and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method refactoring is widely used for merging duplicate code…

In machine learning datasets with symmetries, the paradigm for backward compatibility with symmetry-breaking has been to relax equivariant architectural constraints, engineering extra weights to differentiate symmetries of interest.…

Machine Learning · Computer Science 2024-10-08 Haozhe Huang , Leo Kaixuan Cheng , Kaiwen Chen , Alán Aspuru-Guzik

Today's production systems are complex networks of cyber-physical systems which combine mechanical and electronic parts with software and networking capabilities. To the inherent complexity of such systems additional complexity arises from…

Software Engineering · Computer Science 2022-07-26 Aljosha Köcher , Alexander Hayward , Alexander Fay

Code refactoring is widely recognized as an essential software engineering practice to improve the understandability and maintainability of the source code. The Extract Method refactoring is considered as "Swiss army knife" of refactorings,…

Software Engineering · Computer Science 2023-12-21 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni

Clone detection plays an important role in software engineering. Finding clones within a single project introduces possible refactoring opportunities, and between different projects it could be used for detecting code reuse or possible…

Software Engineering · Computer Science 2021-01-08 Yaroslav Golubev , Viktor Poletansky , Nikita Povarov , Timofey Bryksin

The reengineering process of large data-intensive legacy software applications to cloud platforms involves different interrelated activities. These activities are related to planning, architecture design, re-hosting/lift-shift, code…

Software Engineering · Computer Science 2021-12-15 Mahdi Fahmideh , John Grundy , Ghassan Beydoun , Didar Zowghi , Willy Susilo , Davoud Mougouei

The effectiveness of the machine learning methods for real-world tasks depends on the proper structure of the modeling pipeline. The proposed approach is aimed to automate the design of composite machine learning pipelines, which is…

There is a growing need for better development methods and tools to keep up with the increasing complexity of new software systems. New types of user interfaces, the need for intelligent components, sustainability concerns, ... bring new…

Software Engineering · Computer Science 2024-02-29 Jordi Cabot

When deployed in the wild, machine learning models are usually confronted with data and requirements that constantly vary, either because of changes in the generating distribution or because external constraints change the environment where…

Machine Learning · Computer Science 2020-07-17 Irene Unceta , Jordi Nin , Oriol Pujol

Over the past decades, Software Product Lines (SPLs) have demonstrated the benefits of systematic reuse to increase software development productivity and software product quality. Of the three adoption approaches, i.e. extractive, proactive…

Software Engineering · Computer Science 2021-07-19 Nicolas Hlad , Seriai Abdelhak-Djamel , Dony Christophe

We consider the problem of program clone search, i.e. given a target program and a repository of known programs (all in executable format), the goal is to find the program in the repository most similar to the target program - with…

Cryptography and Security · Computer Science 2023-09-04 Tristan Benoit , Jean-Yves Marion , Sébastien Bardin

Software module clustering is an unsupervised learning method used to cluster software entities (e.g., classes, modules, or files) with similar features. The obtained clusters may be used to study, analyze, and understand the software…

Software Engineering · Computer Science 2020-12-03 Qusay I. Sarhan , Bestoun S. Ahmed , Miroslav Bures , Kamal Z. Zamli

Malware lineage studies the evolutionary relationships among malware and has important applications for malware analysis. A persistent limitation of prior malware lineage approaches is to consider every input sample a separate malware…

Cryptography and Security · Computer Science 2017-10-17 Irfan Ul Haq , Sergio Chica , Juan Caballero , Somesh Jha