Full text
MOTIV: selecci´on de pruebas para algoritmos de detecci´on de movimiento en v´ıdeos usando t´ecnicas de l´ıneas de productos software Jos´e A. Galindo1, Mauricio Alf´erez2, Mathieu Acher3, Benoit Baudry4, and David Benavides1 1Department of Computer Languages and Systems, University of Seville, Spain {jagalindo,benavides}@us.es 2SnT Centre for Security, Reliability and Trust, University of Luxembourg, Luxembourg [email protected] 3DiverSE team, Univ Rennes, Inria, CNRS, IRISA, France [email protected] 4KTH, Royal Institute of Technology [email protected] Resumen Las l´ıneas de producto software se usan para gestionar la producci´on de sistemas software con un alto grado de variabilidad lo que puede permitir tener un mejor tiempo de respuesta para poder configurar un producto de acuerdo a sus especificaciones concretas en un escenario de uso determinado. La investigaci´on en l´ıneas de producto software se ha centrado en las ´ultimas d´ecadas en proponer procesos, t´ecnicas, herramientas y m´etodos para gestionar la variabilidad a todos los niveles: desde los requisitos, hasta la generaci´on de c´odigo. En este sentido, se han desarrollado distintas t´ecnicas que pueden ser utilizadas en distintos escenarios m´as all´a de la gesti´on de l´ıneas de producto software. Es el caso del conocido como an´alisis autom´atico de modelos de caracter´ısticas. En este proyecto se usaron t´ecnicas que provienen de este ´area para afrontar un reto tecnol´ogico en un consorcio con empresas que usaban distintos algoritmos para detectar movimientos en sistemas de v´ıdeo vigilancia. En concreto, se usaron t´ecnicas de modelado y selecci´on de casos de prueba usando modelos de caracter´ısticas. La aportaci´on tecnol´ogica permiti´o una reducci´on considerable de los costes en la producci´on de algoritmos de detecci´on de movimientos y la mejora en la detecci´on de fallos en los sistemas. El consorcio estuvo formado por dos empresas francesas e INRIA donde trabajaban varios de los autores del trabajo en el momento de la ejecuci´on del proyecto. Adem´as, se cont´o con el asesoramiento de la Universidad de Sevilla. Keywords: l´ıneas de producto software, modelos de caracter´ısticas, selecci´on de pruebas 1. Problema a resolver El problema a resolver en el proyecto era el alto coste que ten´ıa la detecci´on de defectos en algoritmos de detecci´on de movimientos en v´ıdeos para empresas
2 Jos´e A. Galindo et al. que usaban este tipo de tecnolog´ıas. Los sistemas de v´ıdeo vigilancia usan distintos tipos de algoritmos para detectar movimientos dependiendo de las distintas circunstancias que se puedan encontrar en los v´ıdeos de entrada. Por ejemplo, la luminosidad, las condiciones clim´aticas, el tipo de paisaje, entre otras, son variables que influyen a la hora de detectar movimientos en este tipo de sistemas. Una primera aproximaci´on que usaban las empresas era la de tener una bater´ıa de v´ıdeos grabados con c´amara en distintas circunstancias. Estos v´ıdeos eran usados como entrada para los algoritmos de detecci´on de movimientos para ver si eran capaces de reconocer correctamente los objetos en movimiento. Estos v´ıdeos, previamente grabados, eran los casos de prueba para dichos algoritmos. Esta soluci´on tiene distintos problemas. Por una parte es muy costosa pues requiere de la grabaci´on de esos v´ıdeos sobre el terreno (e.g reproducci´on de la escena, transporte de actores y personal, c´amaras, etc). Tambi´en, el n´umero de v´ıdeos distintos era reducido ya que era dif´ıcil cubrir muchas variaciones de v´ıdeos. La idea que surgi´o del consorcio fue usar y aplicar t´ecnicas y modelos del ´area de l´ıneas de productos software para poder resolver este problema y por una parte reducir el coste de las pruebas y por otra parte ser capaces de detectar m´as defectos. El proyecto se plante´o en las fases que se describen en la Figura 1 contando con tres iteraciones y tres fases de identificaci´on del problema, implementaci´on de la soluci´on y validaci´on. La duraci´on total del proyecto fue de unos 20 meses y trabajaron en el proyecto las personas que firman el art´ıculo adem´as de los socios industriales. La soluci´on y sus evoluciones est´an siendo usadas en este momento por las empresas del consorcio. Jan 2013 Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan 2014 Feb Mar Apr May Jun Jul Aug Sep Oct Nov 2014 Workshop / Meeting 1 Problem Statement Workshop / Meeting 2 Video Generator v1 Workshop / Meeting 3 Iteration 1 Iteration 2 Iteration 3 Video Generator v2 Video Generator v3 Validation Workshop / Meeting 5 Workshop / Meeting 4 Contribution co-development and meetings with InPixal Figura 1. Retrospectiva del proyecto MOTIV 2. Tecnolog´ıas usadas En la Figura 2 se muestra una vista general de la soluci´on propuesta. La soluci´on pas´o por los siguientes elementos:
Title Suppressed Due to Excessive Length 3 Se desarroll´o un lenguaje de variabilidad espec´ıfico para el problema que se basaba en los conceptos y constructos de los modelos de caracter´ısticas pero que requer´ıa de elementos espec´ıficos para el dominio [3]. Una de las conclusiones que se extrajo fue que parece que en muchos casos no se puede resolver todo con un solo lenguaje de variabilidad universal sino que hay distintos escenarios que requieren de extensiones o adaptaciones de los lenguajes ya existentes [1]. Usando el lenguaje de variabilidad, se modelaron las diferentes variantes de v´ıdeos que se manejaban en las empresa participantes [2]. Se desarroll´o un generador de v´ıdeos usando el lenguaje de programaci´on LUA y distintas t´ecnicas de selecci´on de casos de pruebas para l´ıneas de producto software como pair-wise testing o algoritmos gen´eticos. package fr.inria.lang.vm.examples.MOTIV { ... @version 0.5 @author "Mauricio Alferez" @email [email protected] @organization "INRIA, Rennes, France" @publication "Pierre ROMENTEAU, 'Video Content Variability Analysis', Project MOTIV" @date "January, 2015" Relationships: sequence { scene{ background ? objects { targets{ [1..5] vehicle } ? distractors ? occultants } } ... } Attributes: @NT string sequence.identifier @NT string sequence.comment ... //background enum background.identifier ['CountrySide', 'Desert', 'Jungle', 'SemiUrban', 'Urban', 'Mountain'] default 'CountrySide' //Distractors real distractors.butterfly_level [0.0 .. 1.0] delta 0.25 default 0.0 real distractors.bird_level [0.0 .. 1.0] delta 0.25 default 0.0 real distractors.far_moving_vegetation [0.0 .. 1.0] delta 0.1 default 0.0 real distractors.close_moving_vegetation [0.0 .. 1.0] delta 0.1 default 0.0 real distractors.light_reflection [0.0 .. 1.0] delta 0.25 default 0.0 real distractors.blinking_light [0.0 .. 1.0] delta 0.1 default 0.0 Constraints: ... background.identifier=='CountrySide' -> vehicle.dust == vehicle.size } VM model Lua configuration file Lua code config. generation video variant video synthesis input of Lua video generator Figura 2. Visi´on general de la propuesta de soluci´on 3. Resultados obtenidos Usando la tecnolog´ıa y resultados descritos en la Secci´on 2, el usuario ten´ıa dos alternativas: i) seleccionar las caracter´ısticas (features) como por ejemplo, la luminosidad, el fondo, las figuras que quer´ıa entrenar en los algoritmos; ii) dejar
4 Jos´e A. Galindo et al. que el sistema seleccionara las que considerase m´as adecuadas. En uno u otro caso el sistema generara autom´aticamente variantes de v´ıdeos que permitieran reducir el coste en las pruebas al tiempo que aumentar las posibilidades de detectar defectos en los algoritmos involucrados. Seg´un los reportes hechos por las empresas involucradas y los estudios de validaci´on realizados, se redujo de manera significativa el coste de la realizaci´on de pruebas y al mismo tiempo se aumentaron las posibilidades de detecci´on de fallos. La Figura 3 representa el antes y el despu´es de aplicar la soluci´on desarrollada en el proyecto MOTIV. Video Generator … N Videos Developers … N Configuration Files Developers and Domain Experts VM interpreter and configuration files customizer VM model VM Approach Old Approach Artifact(s) Processing tool(s) modify N times model 1 time generates generates Figura 3. Pr´actica anterior comparada con la propuesta de soluci´on Referencias 1. Mauricio Alf´erez, Mathieu Acher, Jos´e A. Galindo, Benoit Baudry, and David Benavides. Modeling variability in the video domain: language and experience report. Software Quality Journal, In press 2018. 2. Jos´e A. Galindo, Mauricio Alf´erez, Mathieu Acher, Benoit Baudry, and David Benavides. 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, pages 293–303, 2014. 3. David M´endez-Acu˜na, Jos´e A. Galindo, Thomas Degueule, Benoˆıt Combemale, and Benoit Baudry. Leveraging software product lines engineering in the development of external dsls: A systematic literature review. Computer Languages, Systems & Structures, 46:206–235, 2016.