English
Related papers

Related papers: Automatic and Efficient Variability-Aware Lifting …

200 papers

Context: Software metrics, as one form of static analyses, is a commonly used approach in software engineering in order to understand the state of a software system, in particular to identify potential areas prone to defects. Family-based…

Software Engineering · Computer Science 2021-10-13 Sascha El-Sharkawy , Adam Krafczyk , Klaus Schmid

Context. Variability-intensive programs (program families) appear in many application areas and for many reasons today. Different family members, called variants, are derived by switching statically configurable options (features) on and…

Programming Languages · Computer Science 2017-02-01 Alexandru Florin Iosif-Lazar , Jean Melo , Aleksandar S. Dimovski , Claus Brabrand , Andrzej Wasowski

Analyses of a software product line (SPL) typically report variable results that are annotated with logical expressions indicating the set of product variants for which the results hold. These expressions can get complicated and difficult…

Software Engineering · Computer Science 2023-11-01 Rafael F. Toledo , Joanne M. Atlee , Rui Ming Xiong

Weighted logic programming, a generalization of bottom-up logic programming, is a well-suited framework for specifying dynamic programming algorithms. In this setting, proofs correspond to the algorithm's output space, such as a path…

Artificial Intelligence · Computer Science 2012-08-15 Shay B. Cohen , Robert J. Simmons , Noah A. Smith

Applying program analyses to Software Product Lines (SPLs) has been a fundamental research problem at the intersection of Product Line Engineering and software analysis. Different attempts have been made to "lift" particular product-level…

Software Engineering · Computer Science 2019-09-02 Ramy Shahin , Marsha Chechik , Rick Salay

A software product line is a set of software products that are distinguished in terms of features (i.e., end-user--visible units of behavior). Feature interactions ---situations in which the combination of features leads to emergent and…

Software Engineering · Computer Science 2015-03-19 Sven Apel , Hendrik Speidel , Philipp Wendler , Alexander von Rhein , Dirk Beyer

Safety-critical software systems are in many cases designed and implemented as families of products, usually referred to as Software Product Lines (SPLs). Products within an SPL vary from each other in terms of which features they include.…

Software Engineering · Computer Science 2021-05-04 Ramy Shahin , Sahar Kokaly , Marsha Chechik

Static analysis is the analysis of a program without executing it, usually carried out by an automated tool. Symbolic execution is a popular static analysis technique used both in program verification and in bug detection software. It works…

Software Engineering · Computer Science 2024-08-06 Gabor Horvath , Reka Kovacs , Zoltan Porkolab

Family-based (lifted) data-flow analysis for Software Product Lines (SPLs) is capable of analyzing all valid products (variants) without generating any of them explicitly. It takes as input only the common code base, which encodes all…

Programming Languages · Computer Science 2015-03-17 Aleksandar S. Dimovski , Claus Brabrand , Andrzej Wąsowski

A software product line is a family of software products that share a common set of mandatory features and whose individual products are differentiated by their variable (optional or alternative) features. Family-based analysis of software…

Software Engineering · Computer Science 2016-04-25 Rafael Olaechea , Uli Fahrenberg , Joanne M. Atlee , Axel Legay

Lifted (family-based) static analysis by abstract interpretation is capable of analyzing all variants of a program family simultaneously, in a single run without generating any of the variants explicitly. The elements of the underlying…

Programming Languages · Computer Science 2020-12-11 Aleksandar S. Dimovski , Sven Apel , Axel Legay

Users of program analyses expect that results change predictably in response to changes in their programs, but many analyses fail to provide such robustness. This paper introduces a theoretical framework that provides a unified language to…

Programming Languages · Computer Science 2026-04-14 Zachary Kincaid , Shaowei Zhu

The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source…

Programming Languages · Computer Science 2017-08-29 José María Rey-Poza , Julio Mariño-Carballo

Dynamic program analysis (also known as profiling) is well-known for its powerful capabilities of identifying performance inefficiencies in software packages. Although a large number of dynamic program analysis techniques are developed in…

Software Engineering · Computer Science 2023-12-29 Qidong Zhao , Milind Chabbi , Xu Liu

Variability-aware computing is the efficient application of programs to different sets of inputs that exhibit some variability. One example is program analyses applied to Software Product Lines (SPLs). In this paper we present the design…

Programming Languages · Computer Science 2021-02-09 Ramy Shahin , Marsha Chechik

We propose a new synthesis algorithm that can efficiently search programs with local variables (e.g., those introduced by lambdas). Prior bottom-up synthesis algorithms are not able to evaluate programs with free local variables, and…

Programming Languages · Computer Science 2023-11-08 Xiang Li , Xiangyu Zhou , Rui Dong , Yihong Zhang , Xinyu Wang

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of…

Logic in Computer Science · Computer Science 2015-06-17 Martin Avanzini , Ugo Dal Lago , Georg Moser

In critical software engineering, structured assurance cases (ACs) are used to demonstrate how key system properties are supported by evidence (e.g., test results, proofs). Creating rigorous ACs is particularly challenging in the context of…

Software Engineering · Computer Science 2025-11-06 Logan Murphy , Torin Viger , Alessio Di Sandro , Aren A. Babikian , Marsha Chechik

Static program analysis by abstract interpretation is an efficient method to determine properties of embedded software. One example is value analysis, which determines the values stored in the processor registers. Its results are used as…

Logic in Computer Science · Computer Science 2011-11-09 Reinhold Heckmann , Christian Ferdinand

Software analytics is a data-driven approach to decision making, which allows software practitioners to leverage valuable insights from data about software to achieve higher development process productivity and improve different aspects of…

Software Engineering · Computer Science 2022-01-12 Duarte Oliveira , João Fidalgo , Joelma Choma , Eduardo Guerra , Filipe Correia
‹ Prev 1 2 3 10 Next ›