ABSTRACT
Dynamic Software Product Lines (DSPLs) engineering implements self-adaptive systems by dynamically binding or unbinding features at runtime according to a feature model. However, these features may interact in unexpected and undesired ways leading to critical consequences for the DSPL. Moreover, (re)configurations may negatively affect the runtime system's architectural qualities, manifesting architectural bad smells. These issues are challenging to detect due to the combinatorial explosion of the number of interactions amongst features. As some of them may appear at runtime, we need a runtime approach to their analysis and mitigation. This thesis introduces the Behavioral Map (BM) formalism that captures information from different sources (feature model, code) to automatically detect these issues. We provide behavioral map inference algorithms. Using the Smart Home Environment (SHE) as a case study, we describe how a BM is helpful to identify critical feature interactions and architectural smells. Our preliminary results already show promising progress for both feature interactions and architectural bad smells identification at runtime.
- Sven Apel, Alexander Von Rhein, Thomas ThüM, and Christian KäStner. 2013. Feature-interaction detection based on feature-based specifications. Computer Networks 57, 12 (2013), 2399--2409. Google ScholarDigital Library
- Joanne M Atlee, Uli Fahrenberg, and Axel Legay. 2015. Measuring behaviour interactions between product-line features. In 2015 IEEE/ACM 3rd FME Workshop on Formal Methods in Software Engineering. IEEE, 20--25. Google ScholarDigital Library
- Thomas H Austin and Cormac Flanagan. 2012. Multiple facets for dynamic information flow. In Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages. ACM, 165--178. Google ScholarDigital Library
- Umberto Azadi, Francesca Arcelli Fontana, and Davide Taibi. 2019. Architectural smells detected by tools: a catalogue proposal. In 2019 IEEE/ACM International Conference on Technical Debt (TechDebt). IEEE, IEEE, 88--97. Google ScholarDigital Library
- Nelly Bencomo, Peter Sawyer, Gordon S Blair, and Paul Grace. 2008. Dynamically Adaptive Systems are Product Lines too: Using Model-Driven Techniques to Capture Dynamic Variability of Adaptive Systems.. In SPLC (2). 23--32.Google Scholar
- Nicolás Cardozo and Ivana Dusparic. 2020. Learning run-time compositions of interacting adaptations. In Proceedings of the IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. 108--114. Google ScholarDigital Library
- Andreas Classen, Patrick Heymans, Pierre-Yves Schobbens, and Axel Legay. 2011. Symbolic model checking of software product lines. In Proceedings of the 33rd International Conference on Software Engineering. 321--330. Google ScholarDigital Library
- Myra B Cohen, Matthew B Dwyer, and Jiangfan Shi. 2007. Interaction testing of highly-configurable systems in the presence of constraints. In Proceedings of the 2007 international symposium on Software testing and analysis. 129--139. Google ScholarDigital Library
- Hugo Sica de Andrade, Eduardo Almeida, and Ivica Crnkovic. 2014. Architectural bad smells in software product lines: An exploratory study. In Proceedings of the WICSA 2014 Companion Volume. 1--6. Google ScholarDigital Library
- Edilton Lima dos Santos and Ivan do Carmo Machado. 2019. An Architecture Model for DSPL Engineering. In The 18th Belgium-Netherlands Software Evolution Workshop: BENEVOL. BENEVOL, CEUR-WS.Google Scholar
- Francesca Arcelli Fontana, Paris Avgeriou, Ilaria Pigazzini, and Riccardo Roveda. 2019. A Study on Architectural Smells Prediction. In 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). IEEE, IEEE, 333--337.Google ScholarCross Ref
- Francesca Arcelli Fontana, Ilaria Pigazzini, Riccardo Roveda, and Marco Zanoni. 2016. Automatic detection of instability architectural smells. In 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, IEEE, 433--437.Google ScholarCross Ref
- Joshua Garcia, Daniel Popescu, George Edwards, and Nenad Medvidovic. 2009. Identifying architectural bad smells. In 2009 13th European Conference on Software Maintenance and Reengineering. IEEE, IEEE, 255--258. Google ScholarDigital Library
- Joshua Garcia, Daniel Popescu, George Edwards, and Nenad Medvidovic. 2009. Toward a catalogue of architectural bad smells. In International conference on the quality of software architectures. Springer, Springer, 146--162. Google ScholarDigital Library
- Robert J Hall. 2000. Feature combination and interaction detection via foreground/background models. Computer Networks 32, 4 (2000), 449--469. Google ScholarDigital Library
- IBM. 2006. An architectural blueprint for autonomic computing. IBM White Paper 31 (2006), 1--6.Google Scholar
- IBM. 2020. The T. J. Watson Libraries for Analysis (WALA). IBM. https://github.com/wala/WALAGoogle Scholar
- Martin Lippert and Stephen Roock. 2006. Refactoring in large software projects: performing complex restructurings successfully. John Wiley & Sons.Google Scholar
- Jens Meinicke, Chu-Pan Wong, Christian Kästner, Thomas Thüm, and Gunter Saake. 2016. On essential configuration complexity: measuring interactions in highly-configurable systems. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering. IEEE/ACM, 483--494. Google ScholarDigital Library
- Haris Mumtaz, Paramvir Singh, and Kelly Blincoe. 2020. A systematic mapping study on architectural smells detection. Journal of Systems and Software (2020), 110885.Google Scholar
- Neo4j. 2020. The Internet-Scale Graph Platform. Neo4j. https://neo4j.com/product/Google Scholar
- Neo4j. 2020. Neo4j APOC Library. Neo4j. https://neo4j.com/developer/neo4j-apoc/Google Scholar
- Neo4j. 2020. The Neo4j Cypher Manual v4.1. Neo4j. https://neo4j.com/docs/cypher-manual/current/introduction/Google Scholar
- Gilles Perrouin, Mathieu Acher, Jean-Marc Davril, Axel Legay, and Patrick Heymans. 2016. A Complexity Tale: Web Configurators. ACM Press. Google ScholarDigital Library
- Claudia Raibulet, Francesca Arcelli Fontana, and Simone Carettoni. 2020. A preliminary analysis of self-adaptive systems according to different issues. Software Quality Journal (2020), 1--31.Google Scholar
- Edilton Santos and Ivan Machado. 2018. Towards an Architecture Model for Dynamic Software Product Lines Engineering. In 2018 IEEE International Conference on Information Reuse and Integration (IRI). IEEE, IEEE, 31--38.Google ScholarCross Ref
- Marcel A Serikawa, André de S Landi, Bento R Siqueira, Renato S Costa, Fabiano C Ferrari, Ricardo Menotti, and Valter V De Camargo. 2016. Towards the characterization of monitor smells in adaptive systems. In 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS). IEEE, IEEE, 51--60.Google ScholarCross Ref
- Larissa Rocha Soares, Jens Meinicke, Sarah Nadi, Christian Kästner, and Eduardo Santana de Almeida. 2018. Varxplorer: Lightweight process for dynamic analysis of feature interactions. In Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems. 59--66. Google ScholarDigital Library
- Tassio Vale, Eduardo Santana de Almeida, Vander Alves, Uirá Kulesza, Nan Niu, and Ricardo de Lima. 2017. Software product lines traceability: A systematic mapping study. Information and Software Technology 84 (2017), 1--18. Google ScholarDigital Library
Index Terms
- STARS: software technology for adaptable and reusable systems
Recommendations
STARS: software technology for adaptable and reusable systems PhD research project
VaMoS '20: Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive SystemsDynamically Adaptive Systems (DAS) modify their behaviours in response to (sometimes unpredictable) changes in their environment or to the evolution of their own abilities (sensors and actuators). To support adaptation, a reference architecture (such as ...
Modeling Requirements of Multiple Single Products to Feature Model
AbstractThis work investigates how the requirements of multiple single products can be modeled into a feature model as part of domain engineering process in software product line engineering (SPLE) methodology. It adopts an extractive strategy in devising ...
Modularity in the context of product line variability
AOSD '13 Companion: Proceedings of the 12th annual international conference companion on Aspect-oriented software developmentProduct line software engineering (PLSE) has been recognized as a key software development paradigm for meeting diverse needs of the global market efficiently and effectively giving competitive advantages to IT industries and embedded systems ...
Comments