Search Results

Documents authored by Apel, Sven


Document
Scaling Interprocedural Static Data-Flow Analysis to Large C/C++ Applications: An Experience Report

Authors: Fabian Schiebel, Florian Sattler, Philipp Dominik Schubert, Sven Apel, and Eric Bodden

Published in: LIPIcs, Volume 313, 38th European Conference on Object-Oriented Programming (ECOOP 2024)


Abstract
Interprocedural data-flow analysis is important for computing precise information on whole programs. In theory, the popular algorithmic framework interprocedural distributive environments (IDE) provides a tool to solve distributive interprocedural data-flow problems efficiently. Yet, unfortunately, available state-of-the-art implementations of the IDE framework start to run into scalability issues for programs with several thousands of lines of code, depending on the static analysis domain. Since the IDE framework is a basic building block for many static program analyses, this presents a serious limitation. In this paper, we report on our experience with making the IDE algorithm scale to C/C++ applications with up to 500 000 lines of code. We analyze the IDE algorithm and its state-of-the-art implementations to identify their weaknesses related to scalability at both a conceptual and implementation level. Based on this analysis, we propose several optimizations to overcome these weaknesses, aiming at a sweet spot between reducing running time and memory consumption. As a result, we provide an improved IDE solver that implements our optimizations within the PhASAR static analysis framework. Our evaluation on real-world C/C++ applications shows that applying the optimizations speeds up the analysis on average by up to 7×, while also reducing memory consumption by 7× on average as well. For the first time, these optimizations allow us to analyze programs with several hundreds of thousands of lines of LLVM-IR code in reasonable time and space.

Cite as

Fabian Schiebel, Florian Sattler, Philipp Dominik Schubert, Sven Apel, and Eric Bodden. Scaling Interprocedural Static Data-Flow Analysis to Large C/C++ Applications: An Experience Report. In 38th European Conference on Object-Oriented Programming (ECOOP 2024). Leibniz International Proceedings in Informatics (LIPIcs), Volume 313, pp. 36:1-36:28, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2024)


Copy BibTex To Clipboard

@InProceedings{schiebel_et_al:LIPIcs.ECOOP.2024.36,
  author =	{Schiebel, Fabian and Sattler, Florian and Schubert, Philipp Dominik and Apel, Sven and Bodden, Eric},
  title =	{{Scaling Interprocedural Static Data-Flow Analysis to Large C/C++ Applications: An Experience Report}},
  booktitle =	{38th European Conference on Object-Oriented Programming (ECOOP 2024)},
  pages =	{36:1--36:28},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-341-6},
  ISSN =	{1868-8969},
  year =	{2024},
  volume =	{313},
  editor =	{Aldrich, Jonathan and Salvaneschi, Guido},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2024.36},
  URN =		{urn:nbn:de:0030-drops-208859},
  doi =		{10.4230/LIPIcs.ECOOP.2024.36},
  annote =	{Keywords: Interprocedural data-flow analysis, IDE, LLVM, C/C++}
}
Document
Artifact
Lifted Static Analysis of Dynamic Program Families by Abstract Interpretation (Artifact)

Authors: Aleksandar S. Dimovski and Sven Apel

Published in: DARTS, Volume 7, Issue 2, Special Issue of the 35th European Conference on Object-Oriented Programming (ECOOP 2021)


Abstract
In this article, we describe the usage and evaluation results of the tool DSPLNum²Analyzer introduced by the paper "Lifted Static Analysis of Dynamic Program Families by Abstract Interpretation". We provide step-by-step instructions on how to download, install, run, and compare the tool’s outputs to outputs described in the paper. DSPLNum²Analyzer is a research prototype lifted static analyzer based on abstract interpretation designed for performing numerical static analysis of dynamic C program families.

Cite as

Aleksandar S. Dimovski and Sven Apel. Lifted Static Analysis of Dynamic Program Families by Abstract Interpretation (Artifact). In Special Issue of the 35th European Conference on Object-Oriented Programming (ECOOP 2021). Dagstuhl Artifacts Series (DARTS), Volume 7, Issue 2, pp. 6:1-6:6, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2021)


Copy BibTex To Clipboard

@Article{dimovski_et_al:DARTS.7.2.6,
  author =	{Dimovski, Aleksandar S. and Apel, Sven},
  title =	{{Lifted Static Analysis of Dynamic Program Families by Abstract Interpretation (Artifact)}},
  pages =	{6:1--6:6},
  journal =	{Dagstuhl Artifacts Series},
  ISSN =	{2509-8195},
  year =	{2021},
  volume =	{7},
  number =	{2},
  editor =	{Dimovski, Aleksandar S. and Apel, Sven},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DARTS.7.2.6},
  URN =		{urn:nbn:de:0030-drops-140303},
  doi =		{10.4230/DARTS.7.2.6},
  annote =	{Keywords: Dynamic program families, Static analysis, Abstract interpretation, Decision tree lifted domain}
}
Document
Lifted Static Analysis of Dynamic Program Families by Abstract Interpretation

Authors: Aleksandar S. Dimovski and Sven Apel

Published in: LIPIcs, Volume 194, 35th European Conference on Object-Oriented Programming (ECOOP 2021)


Abstract
Program families (software product lines) are increasingly adopted by industry for building families of related software systems. A program family offers a set of features (configured options) to control the presence and absence of software functionality. Features in program families are often assigned at compile-time, so their values can only be read at run-time. However, today many program families and application domains demand run-time adaptation, reconfiguration, and post-deployment tuning. Dynamic program families (dynamic software product lines) have emerged as an attempt to handle variability at run-time. Features in dynamic program families can be controlled by ordinary program variables, so reads and writes to them may happen at run-time. Recently, a decision tree lifted domain for analyzing traditional program families with numerical features has been proposed, in which decision nodes contain linear constraints defined over numerical features and leaf nodes contain analysis properties defined over program variables. Decision nodes partition the configuration space of possible feature values, while leaf nodes provide analysis information corresponding to each partition of the configuration space. As features are statically assigned at compile-time, decision nodes can be added, modified, and deleted only when analyzing read accesses of features. In this work, we extend the decision tree lifted domain so that it can be used to efficiently analyze dynamic program families with numerical features. Since features can now be changed at run-time, decision nodes can be modified when handling read and write accesses of feature variables. For this purpose, we define extended transfer functions for assignments and tests as well as a special widening operator to ensure termination of the lifted analysis. To illustrate the potential of this approach, we have implemented a lifted static analyzer, called DSPLNum²Analyzer, for inferring numerical invariants of dynamic program families written in C. An empirical evaluation on benchmarks from SV-COMP indicates that our tool is effective and provides a flexible way of adjusting the precision/cost ratio in static analysis of dynamic program families.

Cite as

Aleksandar S. Dimovski and Sven Apel. Lifted Static Analysis of Dynamic Program Families by Abstract Interpretation. In 35th European Conference on Object-Oriented Programming (ECOOP 2021). Leibniz International Proceedings in Informatics (LIPIcs), Volume 194, pp. 14:1-14:28, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2021)


Copy BibTex To Clipboard

@InProceedings{dimovski_et_al:LIPIcs.ECOOP.2021.14,
  author =	{Dimovski, Aleksandar S. and Apel, Sven},
  title =	{{Lifted Static Analysis of Dynamic Program Families by Abstract Interpretation}},
  booktitle =	{35th European Conference on Object-Oriented Programming (ECOOP 2021)},
  pages =	{14:1--14:28},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-190-0},
  ISSN =	{1868-8969},
  year =	{2021},
  volume =	{194},
  editor =	{M{\o}ller, Anders and Sridharan, Manu},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2021.14},
  URN =		{urn:nbn:de:0030-drops-140572},
  doi =		{10.4230/LIPIcs.ECOOP.2021.14},
  annote =	{Keywords: Dynamic program families, Static analysis, Abstract interpretation, Decision tree lifted domain}
}
Document
Feature Interactions: The Next Generation (Dagstuhl Seminar 14281)

Authors: Sven Apel, Joanne M. Atlee, Luciano Baresi, and Pamela Zave

Published in: Dagstuhl Reports, Volume 4, Issue 7 (2014)


Abstract
The feature-interaction problem is a major threat to modularity and impairs compositional development and reasoning. A feature interaction occurs when the behavior of one feature is affected by the presence of another feature; often it cannot be deduced easily from the behaviors of the individual features involved. The feature-interaction problem became a crisis in the telecommunications industry in the late 1980s, and researchers responded with formalisms that enable automatic detection of feature interactions, architectures that avoid classes of interactions, and techniques for resolving interactions at run-time. While this pioneering work was foundational and very successful, it is limited in the sense that it is based on assumptions that hold only for telecommunication systems. In the meantime, different notions of feature interactions have emerged in different communities, including Internet applications, service systems, adaptive systems, automotive systems, software product lines, requirements engineering, and computational biology. So, feature interactions are a much more general concept than investigated in the past in the context of telecommunication systems, but a classification, comparison, and generalization of the multitude of different views is missing. The feature-interaction problem is still of pivotal importance in various industrial applications, and the Dagstuhl seminar "Feature Interactions: The Next Generation" gathered researchers and practitioners from different areas of computer science and other disciplines with the goal to compare, discuss, and consolidate their views, experience, and domain-specific solutions to the feature-interaction problem.

Cite as

Sven Apel, Joanne M. Atlee, Luciano Baresi, and Pamela Zave. Feature Interactions: The Next Generation (Dagstuhl Seminar 14281). In Dagstuhl Reports, Volume 4, Issue 7, pp. 1-24, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2014)


Copy BibTex To Clipboard

@Article{apel_et_al:DagRep.4.7.1,
  author =	{Apel, Sven and Atlee, Joanne M. and Baresi, Luciano and Zave, Pamela},
  title =	{{Feature Interactions: The Next Generation (Dagstuhl Seminar 14281)}},
  pages =	{1--24},
  journal =	{Dagstuhl Reports},
  ISSN =	{2192-5283},
  year =	{2014},
  volume =	{4},
  number =	{7},
  editor =	{Apel, Sven and Atlee, Joanne M. and Baresi, Luciano and Zave, Pamela},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagRep.4.7.1},
  URN =		{urn:nbn:de:0030-drops-47830},
  doi =		{10.4230/DagRep.4.7.1},
  annote =	{Keywords: Feature interactions, feature-interaction problem, feature orientation, product lines, modularity, composition}
}
Document
Feature-Oriented Software Development (FOSD) (Dagstuhl Seminar 11021)

Authors: Sven Apel, William Cook, Krzysztof Czarnecki, and Oscar Nierstrasz

Published in: Dagstuhl Reports, Volume 1, Issue 1 (2011)


Abstract
This report documents the program and the outcomes of Dagstuhl Seminar 11021 "Feature-Oriented Software Development (FOSD)". FOSD is an emerging paradigm that aims at increasing the level of automation, reuse, and variation in software development. The main goal of the Dagstuhl seminar on FOSD was to gather researchers and practitioners who are active in different communities to discuss the roots, state of the art, and future directions of FOSD research and practice. Additional goals were to strengthen the identity of the feature orientation community and to relate FOSD to other software development paradigms. The report contains an executive summary, abstracts of the talks held during the seminar, and summaries of special sessions.

Cite as

Sven Apel, William Cook, Krzysztof Czarnecki, and Oscar Nierstrasz. Feature-Oriented Software Development (FOSD) (Dagstuhl Seminar 11021). In Dagstuhl Reports, Volume 1, Issue 1, pp. 27-41, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2011)


Copy BibTex To Clipboard

@Article{apel_et_al:DagRep.1.1.27,
  author =	{Apel, Sven and Cook, William and Czarnecki, Krzysztof and Nierstrasz, Oscar},
  title =	{{Feature-Oriented Software Development (FOSD) (Dagstuhl Seminar 11021)}},
  pages =	{27--41},
  journal =	{Dagstuhl Reports},
  ISSN =	{2192-5283},
  year =	{2011},
  volume =	{1},
  number =	{1},
  editor =	{Apel, Sven and Cook, William and Czarnecki, Krzysztof and Nierstrasz, Oscar},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagRep.1.1.27},
  URN =		{urn:nbn:de:0030-drops-31414},
  doi =		{10.4230/DagRep.1.1.27},
  annote =	{Keywords: FOSD, automation, software family}
}
Document
08281 Abstracts Collection – Software Engineering for Trailor-made Data Management

Authors: Sven Apel, Don Batory, Goetz Graefe, Gunter Saake, and Olaf Spinczyk

Published in: Dagstuhl Seminar Proceedings, Volume 8281, Software Engineering for Tailor-made Data Management (2008)


Abstract
From July 6th to July 11th, 2008, the Dagstuhl Seminar 08281 ``Software Engineering for Tailor-made Data Management'' was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed. Abstracts of the presentations given during the seminar as well as abstracts of seminar results and ideas are put together in this paper. The first section describes the seminar topics and goals in general. Links to extended abstracts or full papers are provided, if available.

Cite as

Sven Apel, Don Batory, Goetz Graefe, Gunter Saake, and Olaf Spinczyk. 08281 Abstracts Collection – Software Engineering for Trailor-made Data Management. In Software Engineering for Tailor-made Data Management. Dagstuhl Seminar Proceedings, Volume 8281, pp. 1-13, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2008)


Copy BibTex To Clipboard

@InProceedings{apel_et_al:DagSemProc.08281.1,
  author =	{Apel, Sven and Batory, Don and Graefe, Goetz and Saake, Gunter and Spinczyk, Olaf},
  title =	{{08281  Abstracts Collection – Software Engineering for Trailor-made Data Management}},
  booktitle =	{Software Engineering for Tailor-made Data Management},
  pages =	{1--13},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2008},
  volume =	{8281},
  editor =	{Sven Apel and Don Batory and Goetz Graefe and Gunter Saake and Olaf Spynczyk},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.08281.1},
  URN =		{urn:nbn:de:0030-drops-15796},
  doi =		{10.4230/DagSemProc.08281.1},
  annote =	{Keywords: Software Engineering, Data Management, Software Product Lines, Embedded Systems}
}
Document
08281 Executive Summary – Software Engineering for Tailor-made Data Management

Authors: Sven Apel, Don Batory, Goetz Graefe, Gunter Saake, and Olaf Spinczyk

Published in: Dagstuhl Seminar Proceedings, Volume 8281, Software Engineering for Tailor-made Data Management (2008)


Abstract
Tailor-made data management software (DMS) is not only important in the field of embedded systems. DMS that incorporates only features that are required bear the potential to strip down the code base and to improve reliability and maintainability. In the past 20 years several new technologies have emerged that aim at lean, efficient, and well-structured software, which should also be applicable to DMS. In the Dagstuhl Seminar ``Software Engineering for Tailor-made Data Management'', July 6h to July 11th, 2008, 29 researchers from 7 countries discussed the development, application, and assessment of these new technologies in the context of DMS.

Cite as

Sven Apel, Don Batory, Goetz Graefe, Gunter Saake, and Olaf Spinczyk. 08281 Executive Summary – Software Engineering for Tailor-made Data Management. In Software Engineering for Tailor-made Data Management. Dagstuhl Seminar Proceedings, Volume 8281, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2008)


Copy BibTex To Clipboard

@InProceedings{apel_et_al:DagSemProc.08281.2,
  author =	{Apel, Sven and Batory, Don and Graefe, Goetz and Saake, Gunter and Spinczyk, Olaf},
  title =	{{08281 Executive Summary – Software Engineering for Tailor-made Data Management}},
  booktitle =	{Software Engineering for Tailor-made Data Management},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2008},
  volume =	{8281},
  editor =	{Sven Apel and Don Batory and Goetz Graefe and Gunter Saake and Olaf Spynczyk},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.08281.2},
  URN =		{urn:nbn:de:0030-drops-15780},
  doi =		{10.4230/DagSemProc.08281.2},
  annote =	{Keywords: Software Engineering, Data Management, Tailoring, Embedded Systems}
}
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail