Skip to main content
Log in

Modeling variability in the video domain: language and experience report

  • Published:
Software Quality Journal Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Listing 1
Listing 2
Listing 3
Listing 4
Listing 5
Listing 6
Listing 7
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. VM stands for Variability Modeling. In essence, VM is a variability language and shares many properties of e.g., feature modeling languages. We chose the acronym VM since it may also stand for Video Modeling, hence the word play.

  2. t-wise methods are widely used in combinatorial testing. Concretely, t-wise methods reduce the number of tests to execute while covering the interactions of t input parameters in a system. Also, the most common value for t is two (pair-wise), which was demonstrated to be valid in a wide range of scenarios (Cohen et al. 2006a)

  3. Some of the VM constructs are actually present in other variability languages while others are additional constructs or adaptations for modeling variability. Section 6.4 compares VM with other variability languages.

  4. https://github.com/ViViD-DiverSE/VM-Source

  5. The cardinalities apply here to a feature, whereas a cardinality-based group (see previous section) applies to a feature group.

  6. See e.g., Section 2.1 of the Choco Solver documentation available here: http://www.lirmm.fr/lazaar/imagina/choco-doc.pdf (August 2012)

  7. The classification of Savolainen et al. (2011) helps to “clarify the intent of a proposed method and [...] help practitioners in clarifying the guiding principles for their feature modeling”. Therefore, it is not a comparison framework; we use it as a means to properly report on our experience. A cross-validation with other empirical studies is an interesting research direction, but out of the scope of this article.

  8. http://www.eclipse.org/Xtext/

  9. Each attribute has a domain size, which corresponds to the number of individual values an attribute can take. We consider deltas (see Section 5.3, page 12) for the computation of domain size. It should be noted that the number of possible configurations is significantly greater than the sum of possible individual values—since a configuration is a combination of individual attribute values.

References

  • 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.

  • Acher, M., Collet, P., Lahire, P., Moisan, S., Rigault, J.-P. (2011). Modeling variability from requirements to runtime. In ICECCS (pp. 77–86).

  • 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.

    Article  Google Scholar 

  • 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.

  • 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.

  • 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.

    Article  Google Scholar 

  • Apel, S., Batory, D., Kästner, C., Saake, G. (2013a). Feature-oriented software product lines: concepts and implementation. Berlin: Springer.

    Book  Google Scholar 

  • 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.

  • Bak, K., Czarnecki, K., Wasowski, A. (2010). Feature and meta-models in clafer: mixed, specialized, and coupled. In SLE (pp. 102–122).

  • 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.

    Article  Google Scholar 

  • Benavides, D., Trinidad, P., Cortés, A.R., Segura, S. (2013). Fama. In Systems and software variability management (pp. 163–171).

  • 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.

  • 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.

    Article  Google Scholar 

  • 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).

  • 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.

  • 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.

    Article  Google Scholar 

  • 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.

  • 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).

  • 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).

  • 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.

    Article  Google Scholar 

  • DeMilli, R., & Offutt, A.J. (1991). Constraint-based automatic test data generation. IEEE Transactions on Software Engineering, 17(9), 900–910.

    Article  Google Scholar 

  • 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).

  • 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.

  • Eichelberger, H., & Schmid, K. (2013). A systematic analysis of textual variability modeling languages. In SPLC (pp. 12–21).

  • 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.

    Article  Google Scholar 

  • 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).

  • 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.

  • 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.

    Article  Google Scholar 

  • 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.

  • 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.

    Article  Google Scholar 

  • 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.

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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).

  • 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).

  • Ida, S., & Ketil, S. (2007). Technology research explained, Tech rep.

  • 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).

  • 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.

  • 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.

    Article  Google Scholar 

  • 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.

  • 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).

  • 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).

  • 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.

  • 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.

    Article  Google Scholar 

  • 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).

  • Nie, C., & Leung, H. (2011). A survey of combinatorial testing. ACM Computing Surveys, 43(2), 11.

    Article  MATH  Google Scholar 

  • 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.

  • Parker, JR. (2010). Algorithms for image processing and computer vision. Wiley.com.

  • 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.

  • Pohl, K., Böckle, G., van der Linden, F. (2005). Software product line engineering - foundations, principles, and techniques. Berlin: Springer.

    Book  MATH  Google Scholar 

  • 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 

  • 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.

  • 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.

  • Rosenmüller, M., Siegmund, N., Thüm, T., Saake, G. (2011). Multi-dimensional variability modeling. In VaMoS (pp. 11–20).

  • Savolainen, J., Raatikainen, M., Männistö, T. (2011). Eight practical considerations in applying feature modeling for product lines. In ICSR (pp. 192–206).

  • Schobbens, P.-Y., Heymans, P., Trigaux, J.-C. (2006). Feature diagrams: a survey and a formal semantics. In RE (pp. 136–145).

  • 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).

  • 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.

  • 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 

  • 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

  • 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.

    Article  Google Scholar 

  • 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.

  • 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.

    Article  Google Scholar 

  • van Deursen, A., & Klint, P. (2002). Domain-specific language design requires feature descriptions. Journal of Computing and Information Technology, 10(1), 1–17.

    Article  MATH  Google Scholar 

  • 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.

  • 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).

  • 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.

  • 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.

    Article  Google Scholar 

  • 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/.

  • 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.

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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).

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mathieu Acher.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Alférez, M., Acher, M., Galindo, J.A. et al. Modeling variability in the video domain: language and experience report. Software Qual J 27, 307–347 (2019). https://doi.org/10.1007/s11219-017-9400-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-017-9400-8

Keywords

Navigation