English
Related papers

Related papers: Fine-Grained Library Customization

200 papers

Software bloat is code that is packaged in an application but is actually not necessary to run the application. The presence of software bloat is an issue for security, for performance, and for maintenance. In this paper, we introduce a…

Software Engineering · Computer Science 2022-05-20 César Soto-Valero , Thomas Durieux , Nicolas Harrand , Benoit Baudry

Maintainable and general software allows developers to build robust applications efficiently, yet achieving these qualities often requires refactoring specialized solutions into reusable components. This challenge becomes particularly…

Software Engineering · Computer Science 2025-10-07 Ziga Kovacic , Justin T. Chiu , Celine Lee , Wenting Zhao , Kevin Ellis

Braidlab is a Matlab package for analyzing data using braids. It was designed to be fast, so it can be used on relatively large problems. It uses the object-oriented features of Matlab to provide a class for braids on punctured disks and a…

Geometric Topology · Mathematics 2019-11-18 Jean-Luc Thiffeault , Marko Budisic

Code linters play a crucial role in developing high-quality software systems by detecting potential problems (e.g., memory leaks) in the source code of systems. Despite their benefits, code linters are often language-specific, focused on…

Software Engineering · Computer Science 2024-07-24 Darren Holden , Nafiseh Kahani

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

The new and growing field of Quantitative Dependency Syntax has emerged at the crossroads between Dependency Syntax and Quantitative Linguistics. One of the main concerns in this field is the statistical patterns of syntactic dependency…

Computation and Language · Computer Science 2022-06-15 Lluís Alemany-Puig , Juan Luis Esteban , Ramon Ferrer-i-Cancho

Designing a static analysis is generally a substantial undertaking, requiring significant expertise in both program analysis and the domain of the program analysis, and significant development resources. As a result, most program analyses…

Programming Languages · Computer Science 2018-10-17 Colin S. Gordon

Android app developers extensively employ code reuse, integrating many third-party libraries into their apps. While such integration is practical for developers, it can be challenging for static analyzers to achieve scalability and…

Software Engineering · Computer Science 2024-02-12 Jordan Samhi , Tegawendé F. Bissyandé , Jacques Klein

High-level synthesis (HLS) tools have brought FPGA development into the mainstream, by allowing programmers to design architectures using familiar languages such as C, C++, and OpenCL. While the move to these languages has brought…

Hardware Architecture · Computer Science 2019-10-11 Johannes de Fine Licht , Torsten Hoefler

In this work, the online printing shop scheduling problem is considered. This challenging real problem, that appears in the nowadays printing industry, can be seen as a flexible job shop scheduling problem with sequence flexibility in which…

Optimization and Control · Mathematics 2022-02-22 Willian T. Lunardi , Ernesto G. Birgin , Philippe Laborie , Débora P. Ronconi , Holger Voos

Sparse linear algebra is central to many scientific programs, yet compilers fail to optimize it well. High-performance libraries are available, but adoption costs are significant. Moreover, libraries tie programs into vendor-specific…

Performance · Computer Science 2020-01-29 Philip Ginsbach , Bruce Collie , Michael F. P. O'Boyle

Static code analysis is a powerful approach to detect quality deficiencies such as performance bottlenecks, safety violations or security vulnerabilities already during a software system's implementation. Yet, as current software systems…

Software Engineering · Computer Science 2017-10-23 Eric Bodden

Programs are bloated. Our study shows that only 5% of libc is used on average across the Ubuntu Desktop environment (2016 programs); the heaviest user, vlc media player, only needed 18%. In this paper: (1) We present a debloating framework…

Cryptography and Security · Computer Science 2018-07-25 Anh Quach , Aravind Prakash , Lok Kwong Yan

Modern software relies heavily on third-party software libraries to streamline the development process. The act of switching one library for a similar counterpart, called library migration, naturally occurs as libraries become outdated or…

Software Engineering · Computer Science 2026-03-03 Matthias Kebede , May Mahmoud , Mohayeminul Islam , Sarah Nadi

Many software analysis methods have come to rely on machine learning approaches. Code segmentation - the process of decomposing source code into meaningful blocks - can augment these methods by featurizing code, reducing noise, and limiting…

Software Engineering · Computer Science 2019-07-23 Jacob Dormuth , Ben Gelman , Jessica Moore , David Slater

Combinatorial optimization problems are prevalent across a wide variety of domains. These problems are often nuanced, their optimal solutions might not be efficiently obtainable, and they may require lots of time and compute resources to…

Machine Learning · Computer Science 2025-07-03 Akshay Sathiya , Rohit Pandey

MADlib is a free, open source library of in-database analytic methods. It provides an evolving suite of SQL-based algorithms for machine learning, data mining and statistics that run at scale within a database engine, with no need for data…

Profile-guided optimizations rely on profile data for directing compilers to generate optimized code. To achieve the maximum performance boost, profile data needs to be collected on the same version of the binary that is being optimized. In…

Programming Languages · Computer Science 2024-01-31 Amir Ayupov , Maksim Panchenko , Sergey Pupyrev

Almost all applications stop scaling at some point; those that don't are seldom performant when considering time to solution on anything but aspirational/unicorn resources. Recognizing these tradeoffs as well as greater user functionality…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-06-28 Stephen Hudson , Jeffrey Larson , John-Luke Navarro , Stefan M. Wild

This paper describes a method for the recovering of software architectures from a set of similar (but unrelated) software products in binary form. One intention is to drive refactoring into software product lines and combine architecture…

Software Engineering · Computer Science 2016-08-08 Ian D. Peake , Jan Olaf Blech , Lasith Fernando , Divyasheel Sharma , Srini Ramaswamy , Mallikarjun Kande