Advertisement

Modeling variability in the video domain: language and experience report

  • Mauricio Alférez
  • Mathieu Acher
  • José A. Galindo
  • Benoit Baudry
  • David Benavides
Article

Abstract

In an industrial project, we addressed the challenge of developing a software-based video generator such that consumers and providers of video processing algorithms can benchmark them on a wide range of video variants. This article aims to report on our positive experience in modeling, controlling, and implementing software variability in the video domain. We describe how we have designed and developed a variability modeling language, called VM, resulting from the close collaboration with industrial partners during 2 years. We expose the specific requirements and advanced variability constructs; we developed and used to characterize and derive variations of video sequences. The results of our experiments and industrial experience show that our solution is effective to model complex variability information and supports the synthesis of hundreds of realistic video variants. From the software language perspective, we learned that basic variability mechanisms are useful but not enough; attributes and multi-features are of prior importance; meta-information and specific constructs are relevant for scalable and purposeful reasoning over variability models. From the video domain and software perspective, we report on the practical benefits of a variability approach. With more automation and control, practitioners can now envision benchmarking video algorithms over large, diverse, controlled, yet realistic datasets (videos that mimic real recorded videos)—something impossible at the beginning of the project.

Keywords

Variability modeling Feature modeling Software product line engineering Configuration Automated reasoning Domain-specific languages Video testing 

Notes

Acknowledgements

This work was financed by the project MOTIV of the Direction Générale de l’Armement (DGA) - Ministére de la Défense, France. Also, by the European Commission (FEDER) and by the Spanish government under BELi (TIN2015-70560-R) project. We thank all participants of the project. Special thanks to Pierre Romenteau from InPixal (Rennes, France) for his continuous feedbacks and his joint development for synthesizing video variants.

References

  1. Abele, A., Papadopoulos, Y., Servat, D., Törngren, M., Weber, M. (2010). The CVM framework—a prototype tool for compositional variability management. In Fourth international workshop on variability modelling of software-intensive systems (pp. 101–105). http://www.vamos-workshop.net/proceedings/VaMoS_2010_Proceedings.pdf.
  2. Acher, M., Collet, P., Lahire, P., Moisan, S., Rigault, J.-P. (2011). Modeling variability from requirements to runtime. In ICECCS (pp. 77–86).Google Scholar
  3. Acher, M., Collet, P., Lahire, P., France, R.B. (2013). Familiar: a domain-specific language for large scale management of feature models. Science of Computer Programming (SCP), 78(6), 657–681.CrossRefGoogle Scholar
  4. Acher, M., Alférez, M., Galindo, J.A., Romenteau, P., Baudry, B. (2014). Vivid: a variability-based tool for synthesizing video sequences. In 18th international software product lines conference—companion volume for workshop, tools and demo papers, SPLC ’14, Florence, Italy, September 15–19, 2014 (pp. 143–147).  https://doi.org/10.1145/2647908.2655981.
  5. Alférez, M., Galindo, J.A., Acher, M., Baudry, B. (2014). Modeling variability in the video domain: language and experience report. Rapport de recherche RR-8576, INRIA. http://hal.inria.fr/hal-01023159.
  6. Anand, S., Burke, E.K., Chen, T.Y., Clark, J., Cohen, M.B., Grieskamp, W., Harman, M., Harrold, M.J., Mcminn, P., et al. (2013). An orchestrated survey of methodologies for automated software test case generation. Journal of Systems and Software, 86(8), 1978–2001.CrossRefGoogle Scholar
  7. Apel, S., Batory, D., Kästner, C., Saake, G. (2013a). Feature-oriented software product lines: concepts and implementation. Berlin: Springer.CrossRefGoogle Scholar
  8. Apel, S., von Rhein, A., Wendler, P., Größlinger, A., Beyer, D. (2013b). Strategies for product-line verification: Case studies and experiments. In ICSE’13. IEEE.Google Scholar
  9. Bak, K., Czarnecki, K., Wasowski, A. (2010). Feature and meta-models in clafer: mixed, specialized, and coupled. In SLE (pp. 102–122).Google Scholar
  10. Benavides, D., Segura, S., Cortés, A.R. (2010). Automated analysis of feature models 20 years later: a literature review. Information Systems, 35(6), 615–636.CrossRefGoogle Scholar
  11. Benavides, D., Trinidad, P., Cortés, A.R., Segura, S. (2013). Fama. In Systems and software variability management (pp. 163–171).Google Scholar
  12. Berger, T., Rublack, R., Nair, D, Atlee, J.M., Becker, M., Czarnecki, K., Wasowski, A. (2013a). A survey of variability modeling in industrial practice. In VaMoS’13. ACM.Google Scholar
  13. Berger, T., She, S., Lotufo, R., Wasowski, A., Czarnecki, K. (2013b). A study of variability models and languages in the systems software domain. IEEE Transactions on Software Engineering, 39(12), 1611–1640.CrossRefGoogle Scholar
  14. Berger, T., Nair, D., Rublack, R., Atlee, J.M., Czarnecki, K., Wasowski, A. (2014). Three cases of feature-based variability modeling in industry. In Model-driven engineering languages and systems—17th international conference, MODELS 2014, Valencia, Spain, September 28–October 3, 2014. Proceedings (pp. 302–319).Google Scholar
  15. Beuche, D. (2016). Using pure: variants across the product line lifecycle. In Proceedings of the 20th international systems and software product line conference, SPLC 2016, Beijing, China, September 16–23, 2016 (pp. 333–336).  https://doi.org/10.1145/2934466.2962729.
  16. Classen, A., Boucher, Q., Heymans, P. (2011). A text-based approach to feature modelling: syntax and semantics of tvl. Science of Computer Programming, 76 (12), 1130–1143.CrossRefGoogle Scholar
  17. Cohen, M.B., Dwyer, M.B., Shi, J. (2006a). Coverage and adequacy in software product line testing. In Proceedings of the ISSTA 2006 workshop on role of software architecture for testing and analysis - ROSATEA ’06 (pp. 53–63).  https://doi.org/10.1145/1147249.1147257. http://portal.acm.org/citation.cfm?doid=1147249.1147257.
  18. Cohen, M.B., Dwyer, M.B., Shi, J. (2006b). Coverage and adequacy in software product line testing. In Proceedings of the ISSTA 2006 workshop on role of software architecture for testing and analysis. ACM (pp. 53–63).Google Scholar
  19. Cordy, M., Schobbens, P.-Y., Heymans, P., Legay, A. (2013). Beyond boolean product-line model checking: dealing with feature attributes and multi-features. In ICSE’13 (pp. 472–481).Google Scholar
  20. Czarnecki, K., Helsen, S., Eisenecker, U.W. (2005). Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice, 10(1), 7–29.CrossRefGoogle Scholar
  21. DeMilli, R., & Offutt, A.J. (1991). Constraint-based automatic test data generation. IEEE Transactions on Software Engineering, 17(9), 900–910.CrossRefGoogle Scholar
  22. Dumitrescu, C., Mazo, R., Salinesi, C., Dauron, A. (2013a). Bridging the gap between product lines and systems engineering: an experience in variability management for automotive model based systems engineering. In T. Kishi, S. Jarzabek, S. Gnesi (Eds.), SPLC. ACM (pp. 254–263).Google Scholar
  23. Dumitrescu, C., Tessier, P., Salinesi, C., Gérard, S., Dauron, A., Mazo, R. (2013b). Capturing variability in model based systems engineering. In M. Aiguier, F. Boulanger, Krob, D., & Marchal, C. (Eds.), CSDM (pp. 125–139). Berlin: Springer.Google Scholar
  24. Eichelberger, H., & Schmid, K. (2013). A systematic analysis of textual variability modeling languages. In SPLC (pp. 12–21).Google Scholar
  25. Eichelberger, H., & Schmid, K. (2015). Mapping the design-space of textual variability modeling languages: a refined analysis. STTT, 17(5), 559–584.  https://doi.org/10.1007/s10009-014-0362-x.CrossRefGoogle Scholar
  26. Fogdal, T., Scherrebeck, H., Kuusela, J., Becker, M., Zhang, B. (2016). Ten years of product line engineering at danfoss: lessons learned and way ahead. In Proceedings of the 20th international systems and software product line conference, SPLC 2016, Beijing, China, September 16–23, 2016 (pp. 252–261).Google Scholar
  27. Galindo, J.A., Alférez, M., Acher, M., Baudry, B., Benavides, D. (2014). A variability-based testing approach for synthesizing video sequences. In International symposium on software testing and analysis, ISSTA’14, San Jose, CA, USA - July 21–26, 2014 (pp. 293–303).  https://doi.org/10.1145/2610384.2610411.
  28. Galster, M., Weyns, D., Tofan, D., Michalik, B., Avgeriou, P. (2014). Variability in software systems & a systematic literature review. IEEE Transactions on Software Engineering, 40(3), 282–306.  https://doi.org/10.1109/TSE.2013.56.CrossRefGoogle Scholar
  29. Gray, J., Fisher, K., Consel, C., Karsai, G., Mernik, M., Tolvanen, J.-P. (2008). Dsls: the good, the bad, and the ugly. In G. E. Harris (Ed.), OOPSLA companion (pp. 791–794). New York: ACM.Google Scholar
  30. Grochtmann, M., & Grimm, K. (1993). Classification trees for partition testing. Software Testing, Verification and Reliability, 3(2), 63–82.  https://doi.org/10.1002/stvr.4370030203.CrossRefGoogle Scholar
  31. Guo, J., Czarnecki, K., Apel, S., Siegmund, N., Wasowski, A. (2013). Variability-aware performance prediction: a statistical learning approach. In 28th IEEE/ACM international conference on automated software engineering (ASE), IEEE. IEEE, Silicon Valley.Google Scholar
  32. Henard, C., Papadakis, M., Perrouin, G., Klein, J., Heymans, P., Traon, Y.L. (2014). Bypassing the combinatorial explosion: Using similarity to generate and prioritize t-wise test configurations for software product lines. IEEE Transactions on Software Engineering, 40(7), 650–670.CrossRefGoogle Scholar
  33. Hervieu, A., Marijan, D., Gotlieb, A., Baudry, B. (2016). Practical minimization of pairwise-covering test configurations using constraint programming. Information and Software Technology, 71, 129–146.CrossRefGoogle Scholar
  34. Hofman, P., Stenzel, T., Pohley, T., Kircher, M., Bermann, A. (2012). Domain specific feature modeling for software product lines. In SPLC (1) (pp. 229–238).Google Scholar
  35. Hubaux, A., Classen, A., Mendonça, M., Heymans, P. (2010). A preliminary review on the application of feature diagrams in practice. In VaMoS (pp. 53–59).Google Scholar
  36. Ida, S., & Ketil, S. (2007). Technology research explained, Tech rep.Google Scholar
  37. Johansen, M.F., Haugen, Ø., Fleurey, F. (2012). An algorithm for generating t-wise covering arrays from large feature models. In 16th international software product line conference, SPLC ’12 (pp. 46–55).Google Scholar
  38. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A. S. (1990). Feature-oriented domain analysis (foda) feasibility study. Tech. rep. DTIC Document.Google Scholar
  39. Karatas, A.S., Oguztüzün, H., Dogru, A.H. (2013). From extended feature models to constraint logic programming. Science of Computer Programming, 78(12), 2295–2312.CrossRefGoogle Scholar
  40. Krueger, C.W., & Clements, P.C. (2014). Systems and software product line engineering with gears from biglever software. In 18th international software product lines conference - companion volume for workshop, tools and demo papers, SPLC ’14, Florence, Italy, September 15–19, 2014 (pp. 121–125).  https://doi.org/10.1145/2647908.2655976.
  41. Mendonça, M., Branco, M., Cowan, D.D. (2009). S.p.l.o.t.: software product lines online tools. In OOPSLA companion (pp. 761–762).Google Scholar
  42. Moisan, S., Rigault, J.-P., Acher, M., Collet, P., Lahire, P. (2011). Run time adaptation of video-surveillance systems: a software modeling approach. In International conference on computer vision systems (ICVS’11) (pp. 203–212).Google Scholar
  43. Murashkin, A., Antkiewicz, M., Rayside, D., Czarnecki, K. (2013). Visualization and exploration of optimal variants in product line engineering. In 17th international software product line conference, SPLC 2013, Tokyo, Japan - August 26–30, 2013 (pp. 111–115). https://doi.org/10.1145/2491627.2491647.
  44. Mussbacher, G., Araújo, J., Moreira, A., Amyot, D. (2012). Aourn-based modeling and analysis of software product lines. Software Quality Journal, 20(3–4), 645–687.CrossRefGoogle Scholar
  45. Nadi, S., & Krüger, S. (2016). Variability modeling of cryptographic components: Clafer experience report. In Proceedings of the tenth international workshop on variability modelling of software-intensive systems, Salvador, Brazil, January 27–29, 2016 (pp. 105–112).Google Scholar
  46. Nie, C., & Leung, H. (2011). A survey of combinatorial testing. ACM Computing Surveys, 43(2), 11.CrossRefzbMATHGoogle Scholar
  47. Oh, S., Hoogs, A., Perera, A., Cuntoor, N., Chen, C.-C., Lee, J. T., Mukherjee, S., Aggarwal, J. K., Lee, H., Davis, L., Swears, E., Wang, X., Ji, Q., Reddy, K., Shah, M., Vondrick, C., Pirsiavash, H., Ramanan, D., Yuen, J., Torralba, A., Song, B., Fong, A., Roy-Chowdhury, A., Desai, M. (2011). A large-scale benchmark dataset for event recognition in surveillance video. In Proceedings of the 2011 IEEE conference on computer vision and pattern recognition, CVPR ’11 (pp. 3153–3160). IEEE Computer Society, Washington, DC.  https://doi.org/10.1109/CVPR.2011.5995586.
  48. Parker, JR. (2010). Algorithms for image processing and computer vision. Wiley.com.Google Scholar
  49. Perrouin, G., Sen, S., Klein, J., Baudry, B., Le Traon, Y. (2010). In Proceedings of the international conference on software testing (ICST) (pp. 459–468). Paris.Google Scholar
  50. Pohl, K., Böckle, G., van der Linden, F. (2005). Software product line engineering - foundations, principles, and techniques. Berlin: Springer.CrossRefzbMATHGoogle Scholar
  51. Ponce, J., Forsyth, D., Willow, E.-P., Antipolis-Méditerranée, S., d’activité RAweb, R., Inria, L., Alumni, I. (2011). Computer vision: a modern approach. Computer, 16, 11.Google Scholar
  52. Quinton, C., Romero, D., Duchien, L. (2013). Cardinality-based feature models with constraints: a pragmatic approach. In 17th international software product line conference, SPLC 2013, Tokyo, Japan—August 26–30, 2013 (pp. 162–166).  https://doi.org/10.1145/2491627.2491638.
  53. Reiser, M.-O. (2009). Core concepts of the compositional variability management framework (CVM)—a practitioner’s guide/ Technical report Bericht-Nr. 2009-16, Technische Universität Berlin. http://hal.inria.fr/hal-01023159.
  54. Rosenmüller, M., Siegmund, N., Thüm, T., Saake, G. (2011). Multi-dimensional variability modeling. In VaMoS (pp. 11–20).Google Scholar
  55. Savolainen, J., Raatikainen, M., Männistö, T. (2011). Eight practical considerations in applying feature modeling for product lines. In ICSR (pp. 192–206).Google Scholar
  56. Schobbens, P.-Y., Heymans, P., Trigaux, J.-C. (2006). Feature diagrams: a survey and a formal semantics. In RE (pp. 136–145).Google Scholar
  57. Segura, S., Galindo, J.A., Benavides, D., Parejo, J.A., Cortés, A.R. (2012). Betty: benchmarking and testing on the automated analysis of feature models. In VaMoS (pp. 63–71).Google Scholar
  58. Sepulveda, S., Cravero, A., Cachero, C. (2015). Requirements modelling languages for software product lines: a systematic literature review. Information and Software Technology  https://doi.org/10.1016/j.infsof.2015.08.007. http://www.sciencedirect.com/science/article/pii/S0950584915001494.
  59. Siegmund, N., Rosenmüller, M., Kuhlemann, M., Kästner, C., Apel, S., Saake, G. (2011). Spl conqueror: toward optimization of non-functional properties in software product lines. Software Quality Journal, 20(3), 487–517.  https://doi.org/10.1007/s11219-011-9152-9. http://www.springerlink.com/content/ax788q46h1702j34/.Google Scholar
  60. Sobernig, S., Apel, S., Kolesnikov, S., Siegmund, N. (2016). Quantifying Structural Attributes of System Decompositions in 28 Feature-oriented Software Product lines: an exploratory study. Empirical Software Engineering, 21(4), 1670–1705.  https://doi.org/10.1007/s10664-014-9336-6
  61. Svahnberg, M., van Gurp, J., Bosch, J. (2005). A taxonomy of variability realization techniques: research articles. Software Practice and Experience, 35(8), 705–754.  https://doi.org/10.1002/spe.v35:8.CrossRefGoogle Scholar
  62. Temple, P., Galindo Duarte, J.A., Acher, M., Jézéquel, J.-M. (2016). Using machine learning to infer constraints for product lines. In Software product line conference (SPLC’16), Beijing.Google Scholar
  63. 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 Computing Surveys (CSUR), 47(1), 6.CrossRefGoogle Scholar
  64. van Deursen, A., & Klint, P. (2002). Domain-specific language design requires feature descriptions. Journal of Computing and Information Technology, 10(1), 1–17.CrossRefzbMATHGoogle Scholar
  65. Voelter, M., Benz, S., Dietrich, C., Engelmann, B., Helander, M., Kats, L.C.L., Visser, E., Wachsmuth, G. (2013). DSL engineering, - designing, implementing and using domain-specific languages. dslbook.org.Google Scholar
  66. Völter, M., & Visser, E. (2011). Product line engineering using domain-specific languages. In Software product lines - 15th international conference, SPLC 2011 (pp. 70–79).Google Scholar
  67. Wang, S., Buchmann, D., Ali, S., Gotlieb, A., Pradhan, D., Liaaen, M. (2014). Multi-objective test prioritization in software product line testing: An industrial case study. In Proceedings of the 18th international software product line conference - volume 1, SPLC ’14 (pp. 32–41). ACM, New York.  https://doi.org/10.1145/2648511.2648515.
  68. Wang, S., Ali, S., Gotlieb, A., Liaaen, M. (2017). Automated product line test case selection: industrial case study and controlled experiment. Software and System Modeling, 16(2), 417–441.  https://doi.org/10.1007/s10270-015-0462-4.CrossRefGoogle Scholar
  69. Weber, V. (2014). Utfm—a next generation language and tool for feature modeling. Ph.D. thesis, Faculty of Electrical Engineering, Mathematics and Computer Science of the University of Twente. http://essay.utwente.nl/65854/.
  70. White, J., Dougherty, B., Schmidt, D.C., Benavides, D. (2009). Automated reasoning for multi-step feature model configuration problems. In Proceedings of the 13th international software product line conference, SPLC ’09 (pp. 11–20). Carnegie Mellon University, Pittsburgh. http://dl.acm.org/citation.cfm?id=1753235.1753238.
  71. White, J., Benavides, D., Schmidt, D.C., Trinidad, P., Dougherty, B., Cortés, A.R. (2010). Automated diagnosis of feature model configurations. Journal of Systems and Software, 83(7), 1094–1107.  https://doi.org/10.1016/j.jss.2010.02.017.CrossRefGoogle Scholar
  72. Yilmaz, C., Cohen, M.B., Porter, A.A. (2006). Covering arrays for efficient fault characterization in complex configuration spaces. IEEE Transactions on Software Engineering, 32(1), 20–34.CrossRefGoogle Scholar
  73. Zhang, H., Fritts, J.E., Goldman, S.A. (2008a). Image segmentation evaluation: a survey of unsupervised methods. Computer Vision and Image Understanding, 110(2), 260–280.CrossRefGoogle Scholar
  74. Zhang, W., Yan, H., Zhao, H., Jin, Z. (2008b). A bdd-based approach to verifying clone-enabled feature models’ constraints and customization. In ICSR (pp. 186–199).Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  • Mauricio Alférez
    • 1
  • Mathieu Acher
    • 2
  • José A. Galindo
    • 3
  • Benoit Baudry
    • 4
  • David Benavides
    • 3
  1. 1.Interdisciplinary Centre for Security, Reliability and Trust (SnT)University of LuxembourgLuxembourgLuxembourg
  2. 2.DiverSE Team at Inria RennesUniversity of Rennes, IRISA, CNRSRennesFrance
  3. 3.Department of Computer Languages and SystemsUniversity of SevilleSevilleSpain
  4. 4.EECS/SCS, KTHRoyal Institute of TechnologyStockholmSweden

Personalised recommendations