Home > Research > Publications & Outputs > SPLLIFT: statically analyzing software product ...
View graph of relations

SPLLIFT: statically analyzing software product lines in minutes instead of years

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published

Standard

SPLLIFT: statically analyzing software product lines in minutes instead of years. / Bodden, Eric; Tolêdo, Társis; Ribeiro, Márcio et al.
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation (PLDI 2013). New York, NY, USA: ACM, 2013. p. 355-364.

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Harvard

Bodden, E, Tolêdo, T, Ribeiro, M, Brabrand, C, Borba, P & Mezini, M 2013, SPLLIFT: statically analyzing software product lines in minutes instead of years. in Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation (PLDI 2013). ACM, New York, NY, USA, pp. 355-364, PLDI 2013 34th ACM SIGPLAN conference on Programming language design and implementation, Seattle, Wash., United States, 16/06/13. https://doi.org/10.1145/2491956.2491976

APA

Bodden, E., Tolêdo, T., Ribeiro, M., Brabrand, C., Borba, P., & Mezini, M. (2013). SPLLIFT: statically analyzing software product lines in minutes instead of years. In Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation (PLDI 2013) (pp. 355-364). ACM. https://doi.org/10.1145/2491956.2491976

Vancouver

Bodden E, Tolêdo T, Ribeiro M, Brabrand C, Borba P, Mezini M. SPLLIFT: statically analyzing software product lines in minutes instead of years. In Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation (PLDI 2013). New York, NY, USA: ACM. 2013. p. 355-364 doi: 10.1145/2491956.2491976

Author

Bodden, Eric ; Tolêdo, Társis ; Ribeiro, Márcio et al. / SPLLIFT: statically analyzing software product lines in minutes instead of years. Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation (PLDI 2013). New York, NY, USA : ACM, 2013. pp. 355-364

Bibtex

@inproceedings{f92860a3a23045fbb39c7136e77233c6,
title = "SPLLIFT: statically analyzing software product lines in minutes instead of years",
abstract = "A software product line (SPL) encodes a potentially large variety of software products as variants of some common code base. Up until now, re-using traditional static analyses for SPLs was virtually intractable, as it required programmers to generate and analyze all products individually. In this work, however, we show how an important class of existing inter-procedural static analyses can be transparently lifted to SPLs. Without requiring programmers to change a single line of code, our approach SPLLIFT automatically converts any analysis formulated for traditional programs within the popular IFDS framework for inter-procedural, finite, distributive, subset problems to an SPL-aware analysis formulated in the IDE framework, a well-known extension to IFDS. Using a full implementation based on Heros, Soot, CIDE and JavaBDD, we show that with SPLLIFT one can reuse IFDS-based analyses without changing a single line of code. Through experiments using three static analyses applied to four Java-based product lines, we were able to show that our approach produces correct results and outperforms the traditional approach by several orders of magnitude.",
keywords = "context sensitive, flow sensitive, inter-procedural static analysis , software product lines",
author = "Eric Bodden and T{\'a}rsis Tol{\^e}do and M{\'a}rcio Ribeiro and Claus Brabrand and Paulo Borba and Mira Mezini",
year = "2013",
doi = "10.1145/2491956.2491976",
language = "English",
isbn = "978-1-4503-2014-6",
pages = "355--364",
booktitle = "Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation (PLDI 2013)",
publisher = "ACM",
note = "PLDI 2013 34th ACM SIGPLAN conference on Programming language design and implementation ; Conference date: 16-06-2013 Through 22-06-2013",

}

RIS

TY - GEN

T1 - SPLLIFT: statically analyzing software product lines in minutes instead of years

AU - Bodden, Eric

AU - Tolêdo, Társis

AU - Ribeiro, Márcio

AU - Brabrand, Claus

AU - Borba, Paulo

AU - Mezini, Mira

PY - 2013

Y1 - 2013

N2 - A software product line (SPL) encodes a potentially large variety of software products as variants of some common code base. Up until now, re-using traditional static analyses for SPLs was virtually intractable, as it required programmers to generate and analyze all products individually. In this work, however, we show how an important class of existing inter-procedural static analyses can be transparently lifted to SPLs. Without requiring programmers to change a single line of code, our approach SPLLIFT automatically converts any analysis formulated for traditional programs within the popular IFDS framework for inter-procedural, finite, distributive, subset problems to an SPL-aware analysis formulated in the IDE framework, a well-known extension to IFDS. Using a full implementation based on Heros, Soot, CIDE and JavaBDD, we show that with SPLLIFT one can reuse IFDS-based analyses without changing a single line of code. Through experiments using three static analyses applied to four Java-based product lines, we were able to show that our approach produces correct results and outperforms the traditional approach by several orders of magnitude.

AB - A software product line (SPL) encodes a potentially large variety of software products as variants of some common code base. Up until now, re-using traditional static analyses for SPLs was virtually intractable, as it required programmers to generate and analyze all products individually. In this work, however, we show how an important class of existing inter-procedural static analyses can be transparently lifted to SPLs. Without requiring programmers to change a single line of code, our approach SPLLIFT automatically converts any analysis formulated for traditional programs within the popular IFDS framework for inter-procedural, finite, distributive, subset problems to an SPL-aware analysis formulated in the IDE framework, a well-known extension to IFDS. Using a full implementation based on Heros, Soot, CIDE and JavaBDD, we show that with SPLLIFT one can reuse IFDS-based analyses without changing a single line of code. Through experiments using three static analyses applied to four Java-based product lines, we were able to show that our approach produces correct results and outperforms the traditional approach by several orders of magnitude.

KW - context sensitive

KW - flow sensitive

KW - inter-procedural static analysis

KW - software product lines

UR - http://www.scopus.com/inward/record.url?scp=84883087403&partnerID=8YFLogxK

U2 - 10.1145/2491956.2491976

DO - 10.1145/2491956.2491976

M3 - Conference contribution/Paper

SN - 978-1-4503-2014-6

SP - 355

EP - 364

BT - Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation (PLDI 2013)

PB - ACM

CY - New York, NY, USA

T2 - PLDI 2013 34th ACM SIGPLAN conference on Programming language design and implementation

Y2 - 16 June 2013 through 22 June 2013

ER -