Abstract
Feature interaction (FI) can be defined as a situation in which a feature influences positively or negatively on the behavior of another feature. The FI problem has been a challenging subject for decades because it is not easy to predict, identify, and resolve interactions among features. A common occurrence is the impact of a feature on another one, leading to unexpected behavior, for instance, a feature can influence, activate, or replace the behavior of other feature, or even an unwanted behavior, known as bad feature interaction. In this chapter, we present an approach to identify possible feature interaction in the software product-line architecture design as well as an automatic way to prevent feature interaction by means of search-based algorithms. Such kind of algorithm is used to improve the feature modularization degree of the product-line architecture leading to low feature interaction on the architectural elements.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alférez, M., Moreira, A., Kulesza, U., Araújo, J.A., Mateus, R., Amaral, V.: Detecting feature interactions in SPL requirements analysis models. In: Proceedings of the First International Workshop on Feature-Oriented Software Development, FOSD ’09, pp. 117–123. ACM, New York (2009)
Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Obiect Technol. 8(5), 49–84 (2009)
Apel, S., Scholz, W., Lengauer, C., Kastner, C.: Detecting dependences and interactions in feature-oriented design. In: 2010 IEEE 21st International Symposium on Software Reliability Engineering, pp. 161–170 (2010)
Apel, S., Kolesnikov, S., Siegmund, N., Kästner, C., Garvin, B.: Exploring feature interactions in the wild: The new feature-interaction challenge. In: Proceedings of the 5th International Workshop on Feature-Oriented Software Development, FOSD ’13, pp. 1–8. ACM, New York (2013)
Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw. Testing Verif. Reliab. 24(3), 219–250 (2014). https://doi.org/10.1002/stvr.1486
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison-Wesley Professional, Boston (2012)
Batory, D., Höfner, P., Kim, J.: Feature interactions, products, and composition. In: Proceedings of the 10th Intl. Conf. on Generative Programming and Component Engineering, GPCE ’11, pp. 13–22. ACM, New York (2011)
Ben-David, S., Sterin, B., Atlee, J.M., Beidu, S.: Symbolic model checking of product-line requirements using sat-based methods. In: Proceedings of the 37th International Conference on Software Engineering - Volume 1, ICSE ’15, pp. 189–199. IEEE Press, Piscataway, NJ (2015)
Blundell, C., Fisler, K., Krishnamurthi, S., Van Hentenrvck, P.: Parameterized interfaces for open system verification of product lines. In: Proceedings of the 19th International Conference on Automated Software Engineering, 2004, pp. 258–267 (2004)
Bowen, T.F., Dworack, F.S., Chow, C.H., Griffeth, N., Herman, G.E., Lin, Y..: The feature interaction problem in telecommunications systems. In: 7th International Conference on Software Engineering for Telecommunication Switching Systems, pp. 59–62 (1989)
Classen, A., Heymans, P., Schobbens, P.Y.: What’s in a feature: A requirements engineering perspective. In: International Conference on Fundamental Approaches to Software Engineering, pp. 16–30 (2008)
Colanzi, T.E., Vergilio, S.R., Gimenes, I.M.S., Oizumi, W.N.: A search-based approach for software product line design. In: Proceedings of the 18th International Software Product Line Conference - Volume 1, SPLC ’14, pp. 237–241. ACM, New York, NY (2014)
ContieriJr, A.C., Correia, G.G., Colanzi, T.E., Gimenes, I.M.S., OliveiraJr, E., Ferrari, S., Masiero, P.C., Garcia, A.F.: Extending UML components to develop software product-line architectures: Lessons learned. In Proceedings of 5th European Conference on Software Architecture pp. 130–138 (2011)
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: Nsga-ii. IEEE Trans. Evolution. Comput. 6(2), 182–197 (2002)
Dietrich, D., Shaker, P., Atlee, J.M., Rayside, D., Gorzny, J.: Feature interaction analysis of the feature-oriented requirements-modelling language using alloy. In: Proceedings of the Workshop on Model-Driven Engineering, Verification and Validation, MoDeVVa ’12, pp. 17–22. ACM (2012)
Féderle, E.L., do Nascimento Ferreira, T., Colanzi, T.E., Vergilio, S.R.: OPLA-Tool: A support tool for search-based product line architecture design. In: Proceedings of the 19th International Conference on Software Product Line, SPLC ’15 pp. 370–373 (2015)
Harman, M.: The current state and future of search based software engineering. In: Future of Software Engineering (FOSE ’07), pp. 342–357 (2007)
Hu, H., Yang, D., Xiang, L.F.H., Sang, C.F.J., Li, C.Y.R.: Semantic Web-based policy interaction detection method with rules in smart home for detecting interactions among user policies. IET Commun. 5, 2451–2460 (2011)
Kato, S., Yamaguchi, N.: Variation management for software product lines with cumulative coverage of feature interactions. In: 2011 15th International Software Product Line Conference, pp. 140–149 (2011)
Kim, C.H.P., Kästner, C., Batory, D.: On the modularity of feature interactions. In: Proceedings of the 7th International Conference on Generative Programming and Component Engineering, GPCE ’08, pp. 23–34 (2008)
Liu, J., Dehlinger, J., Sun, H., Lutz, R.: State-based modeling to support the evolution and maintenance of safety-critical software product lines. In: 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS’07), pp. 596–608 (2007)
Mosser, S., Parra, C., Duchien, L., Blay-Fornarino, M.: Using domain features to handle feature interactions. In: Proceedings of the 6th Intl. Workshop on Variability Modeling of Software-Intensive Systems, VaMoS ’12, pp. 101–110. ACM, New York (2012)
Perissato, E.G., Choma Neto, J., Colanzi, T.E., Oizumi, W., Garcia, A.: On identifying architectural smells in search-based product line designs. In: Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse, SBCARS ’18, pp. 13–22. ACM (2018)
Razzaq, A., Abbasi, R.: Automated separation of crosscutting concerns: Earlier automated identification and modularization of cross-cutting features at analysis phase. In: 2012 15th International Multitopic Conference (INMIC), pp. 471–478 (2012)
Rodrigues, I., Ribeiro, M., Medeiros, F., Borba, P., Fonseca, B., Gheyi, R.: Assessing fine-grained feature dependencies. Inf. Softw. Technol. 78, 27–52 (2016)
Santos, A.R., Ivan do Carmo Machado, Almeida, E.S.: RiPLE-HC: Visual support for features scattering and interactions. In: ACM International Conference Proceeding Series, pp. 320–323 (2016)
Scholz, W., Thüm, T., Apel, S., Lengauer, C.: Automatic detection of feature interactions using the java modeling language: An experience report. In: Proceedings of the 15th International Software Product Line Conference, Volume 2, SPLC ’11, pp. 1–8. ACM, New York (2011)
Siegmund, N., Kolesnikov, S.S., Kästner, C., Apel, S., Batory, D., Rosenmüller, M., Saake, G.: Predicting performance via automated feature-interaction detection. In: 34th International Conference on Software Engineering (ICSE), pp. 167–177 (2012)
Soares, L.R., Schobbens, P.Y., do Carmo Machado, I., de Almeida, E.S.: Feature interaction in software product line engineering: a systematic mapping study. Inf. Softw. Technol. 98, 44–58 (2018)
Zhang, L., Ying, S., Ni, Y., Wen, J., Zhao, K.: An approach for multi-dimensional separation concerns at architecture level. In: 2008 Workshop on Power Electronics and Intelligent Transportation System, pp. 541–545 (2008)
Acknowledgement
This work is supported by the Brazilian funding agency CNPq (Grant 428994/2018-0).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Baldo, L.N., Amaral, A.M.M.M., OliveiraJr, E., Colanzi, T.E. (2023). Preventing Feature Interaction with Optimization Algorithms. In: OliveiraJr, E. (eds) UML-Based Software Product Line Engineering with SMarty. Springer, Cham. https://doi.org/10.1007/978-3-031-18556-4_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-18556-4_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-18555-7
Online ISBN: 978-3-031-18556-4
eBook Packages: Computer ScienceComputer Science (R0)