Skip to main content
Top
Published in: Empirical Software Engineering 2/2023

01-03-2023

Applying declarative analysis to industrial automotive software product line models

Authors: Ramy Shahin, Rafael Toledo, Robert Hackman, Ramesh S, Joanne M. Atlee, Marsha Chechik

Published in: Empirical Software Engineering | Issue 2/2023

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Program analysis of automotive software has several unique challenges, including that the code base is ultra large, comprising over a hundred million lines of code running on a single vehicle; the code is structured as a software product line (SPL) for managing a family of related software products from a common set of artifacts; and the analysis results (despite being numerous and despite being variable) need to be presented to the engineer in a way that is manageable. In previous work, we reported on lifting declarative analyses to apply to a software product line, rather than to an individual product variant. This paper reports on milestone results from applying lifted declarative analyses (behaviour alteration, recursion analysis, simplifiable global variable analysis, and two of their variants) to automotive software product lines from General Motors and assessing the scalability of the analyses and the effectiveness of reporting to engineers conditional analysis results (i.e., results conditioned on SPL program variants). We also reflect on some of the lessons learned throughout this project.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Footnotes
1
We use the syntax !, ∧, ∨ for the propositional operators not, and, and or, respectively, to be consistent with the syntax of PCs used in our interactive visualization tool (please see Section 4).
 
3
The names of the entities are simplified for this example to improve legibility. In practice, Rex creates long identifier names that capture the entity’s context (i.e., enclosing function, class, etc., up to and including filename).
 
8
Node labels and presence conditions on edges have been omitted from Fig. 8(b) to avoid revealing proprietary information.
 
10
Configuration parameters are feature variables, which were described in Section 2.1.
 
11
This measurement was aided by the fact that the presence conditions are stored as Binary Decision Diagrams (BDDs) (Bryant 1992), and BDDs have canonical representations.
 
Literature
go back to reference Apel S, Beyer D (2011) Feature cohesion in software product lines: an exploratory study. In: Proc. of ICSE’11. ACM, New York, pp 421–430 Apel S, Beyer D (2011) Feature cohesion in software product lines: an exploratory study. In: Proc. of ICSE’11. ACM, New York, pp 421–430
go back to reference Apel S, Kaestner C (2009) An overview of feature-oriented software development. J Object Technol 8:49–84CrossRef Apel S, Kaestner C (2009) An overview of feature-oriented software development. J Object Technol 8:49–84CrossRef
go back to reference Arendt T, Biermann E, Jurack S, Krause C, Taentzer G (2010) Henshin: advanced concepts and tools for in-place EMF model transformations. In: Proc. of MODELS’10. Springer-Verlag, Berlin, pp 121–135 Arendt T, Biermann E, Jurack S, Krause C, Taentzer G (2010) Henshin: advanced concepts and tools for in-place EMF model transformations. In: Proc. of MODELS’10. Springer-Verlag, Berlin, pp 121–135
go back to reference Asadi M, Soltani S, Gašević D, Hatala M (2016) The effects of visualization and interaction techniques on feature model configuration. Empir Softw Eng 21(4):1706–1743CrossRef Asadi M, Soltani S, Gašević D, Hatala M (2016) The effects of visualization and interaction techniques on feature model configuration. Empir Softw Eng 21(4):1706–1743CrossRef
go back to reference Benton WC, Fischer CN (2007) Interactive, Scalable, Declarative Program Analysis: From Prototype to Implementation. In: Proc. of PPDP’07. ACM, New York, pp 13–24 Benton WC, Fischer CN (2007) Interactive, Scalable, Declarative Program Analysis: From Prototype to Implementation. In: Proc. of PPDP’07. ACM, New York, pp 13–24
go back to reference Beuche D, Schulze M, Duvigneau M (2016) When 150% is too much: supporting product centric viewpoints in an industrial product line. In: Proceedings of the 20th international systems and software product line conference, SPLC ’16. Association for Computing Machinery, New York, pp 262–269 Beuche D, Schulze M, Duvigneau M (2016) When 150% is too much: supporting product centric viewpoints in an industrial product line. In: Proceedings of the 20th international systems and software product line conference, SPLC ’16. Association for Computing Machinery, New York, pp 262–269
go back to reference 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: Proc. of PLDI’13. ACM, pp 355–364 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: Proc. of PLDI’13. ACM, pp 355–364
go back to reference Botterweck G, Thiel S, Nestor D, Bin Abid S, Cawley C (2008) Visual tool support for configuring and understanding software product lines. In: Proc. of SPLC’08. IEEE, pp 77–86 Botterweck G, Thiel S, Nestor D, Bin Abid S, Cawley C (2008) Visual tool support for configuring and understanding software product lines. In: Proc. of SPLC’08. IEEE, pp 77–86
go back to reference Bravenboer M, Smaragdakis Y (2009) Strictly declarative specification of sophisticated points-to analyses. In: Proc. of OOPSLA’09. ACM, New York, pp 243–262 Bravenboer M, Smaragdakis Y (2009) Strictly declarative specification of sophisticated points-to analyses. In: Proc. of OOPSLA’09. ACM, New York, pp 243–262
go back to reference Bryant R E (1992) Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput Surv 24(3):293–318MathSciNetCrossRef Bryant R E (1992) Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput Surv 24(3):293–318MathSciNetCrossRef
go back to reference Ceri S, Gottlob G, Tanca L (1989a) What you always wanted to know about Datalog (And Never Dared to Ask). IEEE Trans Knowl Data Eng 1(1):146–166CrossRef Ceri S, Gottlob G, Tanca L (1989a) What you always wanted to know about Datalog (And Never Dared to Ask). IEEE Trans Knowl Data Eng 1(1):146–166CrossRef
go back to reference Ceri S, Gottlob G, Tanca L et al (1989b) What you always wanted to know about Datalog (And Never Dared to Ask). IEEE Trans Knowl Data Eng 1(1):146–166CrossRef Ceri S, Gottlob G, Tanca L et al (1989b) What you always wanted to know about Datalog (And Never Dared to Ask). IEEE Trans Knowl Data Eng 1(1):146–166CrossRef
go back to reference Classen A, Heymans P, Schobbens PY, Legay A, Raskin JF (2010) Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proc. of ICSE’10. ACM, New York, pp 335–344 Classen A, Heymans P, Schobbens PY, Legay A, Raskin JF (2010) Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proc. of ICSE’10. ACM, New York, pp 335–344
go back to reference Classen A, Cordy M, Schobbens PY, Heymans P, Legay A, Raskin JF (2013) Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans Softw Eng 39 (8):1069–1089CrossRef Classen A, Cordy M, Schobbens PY, Heymans P, Legay A, Raskin JF (2013) Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans Softw Eng 39 (8):1069–1089CrossRef
go back to reference Clements P, Northrop L (2001) Software product lines: practices and patterns. Addison-Wesley Professional, Reading Clements P, Northrop L (2001) Software product lines: practices and patterns. Addison-Wesley Professional, Reading
go back to reference Czarnecki K, Pietroszek K (2006) Verifying feature-based model templates against well-formedness OCL constraints. In: Proc. of GPCE’06, pp 211–220 Czarnecki K, Pietroszek K (2006) Verifying feature-based model templates against well-formedness OCL constraints. In: Proc. of GPCE’06, pp 211–220
go back to reference Dawson S, Ramakrishnan CR, Warrenm DS (1996) Practical program analysis using general purpose logic programming systems: a case study. In: Proc. of PLDI’96. ACM, New York, pp 117–126 Dawson S, Ramakrishnan CR, Warrenm DS (1996) Practical program analysis using general purpose logic programming systems: a case study. In: Proc. of PLDI’96. ACM, New York, pp 117–126
go back to reference Ernst MD, Badros GJ, Notkin D (2002) An empirical analysis of C preprocessor use. IEEE Trans Softw Eng 28(12):1146–1170CrossRef Ernst MD, Badros GJ, Notkin D (2002) An empirical analysis of C preprocessor use. IEEE Trans Softw Eng 28(12):1146–1170CrossRef
go back to reference Gacek C, Anastasopoules M (2001) Implementing product line variabilities. In: Proc. of SSR’01 Gacek C, Anastasopoules M (2001) Implementing product line variabilities. In: Proc. of SSR’01
go back to reference Gazzillo P, Grimm R (2012) SuperC: Parsing all of C by taming the preprocessor. In: Proc. of PLDI’12. ACM, pp 323–334 Gazzillo P, Grimm R (2012) SuperC: Parsing all of C by taming the preprocessor. In: Proc. of PLDI’12. ACM, pp 323–334
go back to reference Grech N, Smaragdakis Y (2017) P/Taint: Unified points-to and taint analysis. Proc ACM Program Lang 1:1–28CrossRef Grech N, Smaragdakis Y (2017) P/Taint: Unified points-to and taint analysis. Proc ACM Program Lang 1:1–28CrossRef
go back to reference Heidenreich F, Şavga I, Wende C (2008) On controlled visualisations in software product line engineering. In: Proc. of ViSPLE@SPLC’08, pp 335–341 Heidenreich F, Şavga I, Wende C (2008) On controlled visualisations in software product line engineering. In: Proc. of ViSPLE@SPLC’08, pp 335–341
go back to reference Kang K, Cohen S, Hess J, Novak W, Peterson A (1990) Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-021, Software Engineering Institute Carnegie Mellon University, Pittsburgh, PA Kang K, Cohen S, Hess J, Novak W, Peterson A (1990) Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-021, Software Engineering Institute Carnegie Mellon University, Pittsburgh, PA
go back to reference Kästner C, Apel S, Trujillo S, Kuhlemann M, Batory D (2009a) Guaranteeing syntactic correctness for all product line variants: a language-independent approach. In: Oriol M, Meyer B (eds) Objects, components, models and patterns. Springer, Berlin, pp 175–194 Kästner C, Apel S, Trujillo S, Kuhlemann M, Batory D (2009a) Guaranteeing syntactic correctness for all product line variants: a language-independent approach. In: Oriol M, Meyer B (eds) Objects, components, models and patterns. Springer, Berlin, pp 175–194
go back to reference Kästner C, Apel S, Trujillo S, Kuhlemann M, Batory D (2009b) Guaranteeing syntactic correctness for all product line variants: a language-independent approach. In: Proc. of int. conf. on objects, components, models and patterns. Springer, pp 175–194 Kästner C, Apel S, Trujillo S, Kuhlemann M, Batory D (2009b) Guaranteeing syntactic correctness for all product line variants: a language-independent approach. In: Proc. of int. conf. on objects, components, models and patterns. Springer, pp 175–194
go back to reference Kästner C, Giarrusso PG, Rendel T, Erdweg S, Ostermann K, Berger T (2011) Variability-aware parsing in the presence of lexical macros and conditional compilation. In: Proc. of OOPSLA’11. ACM, pp 805–824 Kästner C, Giarrusso PG, Rendel T, Erdweg S, Ostermann K, Berger T (2011) Variability-aware parsing in the presence of lexical macros and conditional compilation. In: Proc. of OOPSLA’11. ACM, pp 805–824
go back to reference Kästner C, Apel S, Thüm T, Saake G (2012) Type checking annotation-based product lines. ACM Trans Softw Eng Methodol 21(3):14:1–14:39CrossRef Kästner C, Apel S, Thüm T, Saake G (2012) Type checking annotation-based product lines. ACM Trans Softw Eng Methodol 21(3):14:1–14:39CrossRef
go back to reference Liebig J, Apel S, Lengauer C, Kästner C, Schulze M (2010) An analysis of the variability in forty preprocessor-based software product lines. In: Proc. of ICSE’10. ACM, New York, pp 105–114 Liebig J, Apel S, Lengauer C, Kästner C, Schulze M (2010) An analysis of the variability in forty preprocessor-based software product lines. In: Proc. of ICSE’10. ACM, New York, pp 105–114
go back to reference Liebig J, von Rhein A, Kästner C, Apel S, Dörre J, Lengauer C (2013) Scalable analysis of variable software. In: Proc. of ESEC/FSE’13, pp 81–91 Liebig J, von Rhein A, Kästner C, Apel S, Dörre J, Lengauer C (2013) Scalable analysis of variable software. In: Proc. of ESEC/FSE’13, pp 81–91
go back to reference Loesch F, Ploedereder E (2007) Optimization of variability in software product lines. In: Proc. of SPLC’07. IEEE, pp 151–162 Loesch F, Ploedereder E (2007) Optimization of variability in software product lines. In: Proc. of SPLC’07. IEEE, pp 151–162
go back to reference Midtgaard J, Dimovski AS, Brabrand C, Wa̧sowski A (2015) Systematic derivation of correct variability-aware program analyses. Sci Comput Program 105(C):145–170CrossRef Midtgaard J, Dimovski AS, Brabrand C, Wa̧sowski A (2015) Systematic derivation of correct variability-aware program analyses. Sci Comput Program 105(C):145–170CrossRef
go back to reference Muscedere BJ, Hackman R, Anbarnam D, Atlee JM, Davis IJ, Godfrey MW (2019) Detecting feature-interaction symptoms in automotive software using lightweight analysis. In: Proc. of SANER’19. IEEE, pp 175–185 Muscedere BJ, Hackman R, Anbarnam D, Atlee JM, Davis IJ, Godfrey MW (2019) Detecting feature-interaction symptoms in automotive software using lightweight analysis. In: Proc. of SANER’19. IEEE, pp 175–185
go back to reference Reps T, Horwitz S, Sagiv M (1995) Precise interprocedural dataflow analysis via graph reachability. In: Proc. of POPL’95. ACM, pp 49–61 Reps T, Horwitz S, Sagiv M (1995) Precise interprocedural dataflow analysis via graph reachability. In: Proc. of POPL’95. ACM, pp 49–61
go back to reference Salay R, Famelis M, Rubin J, Di Sandro A, Chechik M (2014) Lifting model transformations to product lines. In: Proc. of ICSE’14. ACM, New York, pp 117–128 Salay R, Famelis M, Rubin J, Di Sandro A, Chechik M (2014) Lifting model transformations to product lines. In: Proc. of ICSE’14. ACM, New York, pp 117–128
go back to reference Schaefer I, Bettini L, Bono V, Damiani F, Tanzarella N (2010) Delta-oriented programming of software product lines. In: Bosch J, Lee J (eds) Proc. of SPLC’10. Springer, Berlin, pp 77–91 Schaefer I, Bettini L, Bono V, Damiani F, Tanzarella N (2010) Delta-oriented programming of software product lines. In: Bosch J, Lee J (eds) Proc. of SPLC’10. Springer, Berlin, pp 77–91
go back to reference Shahin R, Chechik M (2020a) Automatic and efficient variability-aware lifting of functional programs. In: Proc. of OOPSLA’20, pp 1–27 Shahin R, Chechik M (2020a) Automatic and efficient variability-aware lifting of functional programs. In: Proc. of OOPSLA’20, pp 1–27
go back to reference Shahin R, Chechik M (2020b) Variability-aware datalog. In: Komendantskaya E, Liu Y A (eds) Proc. of PADL’20, LNCS, vol 12007. Springer, pp 213–221 Shahin R, Chechik M (2020b) Variability-aware datalog. In: Komendantskaya E, Liu Y A (eds) Proc. of PADL’20, LNCS, vol 12007. Springer, pp 213–221
go back to reference Shahin R, Chechik M, Salay R (2019) Lifting datalog-based analyses to software product lines. In: Proc. of ESEC/FSE’19. ACM, New York, pp 39–49 Shahin R, Chechik M, Salay R (2019) Lifting datalog-based analyses to software product lines. In: Proc. of ESEC/FSE’19. ACM, New York, pp 39–49
go back to reference Shahin R, Hackman R, Toledo R, Ramesh S, Atlee JM, Chechik M (2021b) Applying declarative analysis to software product line models: an industrial study. In: 2021 ACM/IEEE 24th international conference on model driven engineering languages and systems (MODELS). https://doi.org/10.1109/MODELS50736.2021.00023, pp 145–155 Shahin R, Hackman R, Toledo R, Ramesh S, Atlee JM, Chechik M (2021b) Applying declarative analysis to software product line models: an industrial study. In: 2021 ACM/IEEE 24th international conference on model driven engineering languages and systems (MODELS). https://​doi.​org/​10.​1109/​MODELS50736.​2021.​00023, pp 145–155
go back to reference Strüber D, Anjorin A, Berger T (2020) Variability representations in class models: an empirical assessment. In: Proceedings of the 23rd ACM/IEEE international conference on model driven engineering languages and systems, pp 240–251 Strüber D, Anjorin A, Berger T (2020) Variability representations in class models: an empirical assessment. In: Proceedings of the 23rd ACM/IEEE international conference on model driven engineering languages and systems, pp 240–251
go back to reference Thüm T, Apel S, Kästner C, Schaefer I, Saake G (2014) A classification and survey of analysis strategies for software product lines. ACM Comput Surv 47(1):6:1–6:45CrossRef Thüm T, Apel S, Kästner C, Schaefer I, Saake G (2014) A classification and survey of analysis strategies for software product lines. ACM Comput Surv 47(1):6:1–6:45CrossRef
go back to reference Von Landesberger T, Kuijper A, Schreck T, Kohlhammer J, van Wijk JJ, Fekete JD, Fellner DW (2011) Visual analysis of large graphs: state-of-the-art and future research challenges. In: Computer graph forum, Wiley Online Library, vol 30, pp 1719–1749 Von Landesberger T, Kuijper A, Schreck T, Kohlhammer J, van Wijk JJ, Fekete JD, Fellner DW (2011) Visual analysis of large graphs: state-of-the-art and future research challenges. In: Computer graph forum, Wiley Online Library, vol 30, pp 1719–1749
go back to reference Young B, Cheatwood J, Peterson T, Flores R, Clements P (2017) Product line engineering meets model based engineering in the defense and automotive industries. In: Proc. of SPLC’17, New York, pp 175–179 Young B, Cheatwood J, Peterson T, Flores R, Clements P (2017) Product line engineering meets model based engineering in the defense and automotive industries. In: Proc. of SPLC’17, New York, pp 175–179
Metadata
Title
Applying declarative analysis to industrial automotive software product line models
Authors
Ramy Shahin
Rafael Toledo
Robert Hackman
Ramesh S
Joanne M. Atlee
Marsha Chechik
Publication date
01-03-2023
Publisher
Springer US
Published in
Empirical Software Engineering / Issue 2/2023
Print ISSN: 1382-3256
Electronic ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-023-10290-2

Other articles of this Issue 2/2023

Empirical Software Engineering 2/2023 Go to the issue

Premium Partner