Ecole Doctorale en Sciences de l Ingénieur de l ECP Formation doctorale en Génie Industriel Qualité de la conception de tests logiciels : plate-forme de conception et processus de test Quality of the design of test cases for automotive software: design platform and testing process par Roy Awedikian Résumé de thèse Doctorat de Génie Industriel Laboratoire Génie Industriel - Ecole Centrale Paris 2009-01
N 2009 01 Roy Awedikian est né le 11 novembre 1981 au Liban. En 2004, il a obtenu le diplôme d Ingénieur en Systèmes Electroniques et Informatique Industrielle de l Ecole polytechnique de l Université de Nantes en France. En 2005, il a obtenu un Diplôme de Master Recherche en Génie Industriel de l Ecole Centrale Paris, avec la spécialité «Innovation Conception Ingénierie». Entre janvier 2006 et janvier 2009, il a effectué une thèse au Laboratoire Génie Industriel de l Ecole Centrale Paris dans le cadre d une convention CIFRE avec l industriel Johnson Controls. Ses travaux de recherche portent sur l amélioration de la conception des cas de test fonctionnel pour les produits logiciels. Thèse soutenue le 6 février 2009 à l Ecole Centrale Paris Devant le jury composé de : Directeur de thèse: Bernard YANNOU Co-Directeur de thèse: Mounib MEKHILEF Professeur, Ecole Centrale Paris Maître de conférences, HdR, Université de Bourges Jury: Jean-Marc FAURE Abdessamad KOBI Line BOUCLIER Jean-Paul CALVEZ Philippe LEBRETON Harriet Black NEMBHARD Professeur, Supmeca et ENS de Cachan, Rapporteur Professeur, Université d Angers, Rapporteur Johnson Controls, France, Examinatrice Professeur, Ecole polytechnique de l Université de Nantes, Examinateur Johnson Controls, France, Examinateur Professeur associé, Penn State University, USA, Examinatrice Le mémoire de thèse et les publications sont disponibles auprès de : Anne PREVOT Laboratoire Génie Industriel Ecole Centrale Paris Grande Voie des Vignes 92295 Châtenay Malabry Cedex Tél : 01 41 13 13 88 E-mail : anne.prevot@ecp.fr
Résumé: L électronique dans les voitures devient de plus en plus complexe et représente plus de 30% du coût global d une voiture. Par exemple, dans une BMW série 5 modèle 2008, on peut trouver jusqu à 80 calculateurs électroniques communiquant ensemble et représentant aux alentours de 10 millions de lignes de code logiciel. Face à cette montée en complexité, les constructeurs et équipementiers électroniques de l automobile s intéressent de plus en plus à des méthodes efficaces de développement, vérification et validation de modules électroniques. Plus précisément, ils focalisent leurs efforts sur la partie logicielle de ces modules puisqu elle est à l origine de plus de 80% des problèmes détectés sur ces produits. Dans ce contexte, nous avons mené un travail de recherche dont l objectif est de proposer une approche globale d amélioration de la qualité des logiciels embarqués dans les véhicules. Notre recherche part d un audit des processus et outils actuellement utilisés dans l industrie électronique automobile. Cet audit a permis d identifier des leviers potentiels d amélioration de la qualité logicielle. En se basant sur les résultats de l audit et en tenant compte de la littérature dans le domaine de la qualité logicielle, nous avons proposé une approche globale de conception de cas de test pour les produits logiciels. En effet, nous avons développé une plateforme de génération automatique de tests pour un produit logiciel. Cette plateforme consiste à modéliser les spécifications du produit logiciel pour le simuler lors de tests, à se focaliser sur les tests critiques (ayant une forte probabilité de détecter des défauts) et à piloter la génération automatique des tests par des critères de qualité ; telles que la couverture du code et de la spécification mais aussi le coût des tests. La génération de tests critiques est rendue possible par la définition de profils d utilisation réelle par produit logiciel, ainsi que par la réutilisation des défauts et des tests capitalisés sur des anciens projets. En plus des aspects algorithmiques du test logiciel, notre approche prend en compte des aspects organisationnels tels que la gestion des connaissances et des compétences et la gestion de projet logiciel. Notre approche a été mise en œuvre sur deux cas d étude réels d un équipementier électronique automobile, disposant de données de tests historiques. Les résultats de nos expérimentations révèlent des gains de qualité significatifs : plus de défauts sont trouvés plus tôt et en moins de temps. Mots clefs: Vérification et validation logicielle, Automobile, Processus de test logiciel, Simulation fonctionnelle, Qualité logicielle, Gestion des connaissances, Prise de décision, Processus de conception. Abstract: Nowadays, car electronics become more and more complex and represents more than 30% of the total cost of a car. For instance, in a 2008 BMW 5 series model, one can find up to 80 electronic modules communicating together and representing 10 million lines of software code. Facing this growing complexity, carmakers and automotive electronic suppliers are looking for efficient methods to develop, verify and validate electronic modules. In fact, they focus on the software part of these modules since it accounts for more than 80% of the total number of problems detected on these modules. In this context, we achieved our research project with the aim of proposing a global approach able to improve the quality of automotive embedded software. We started with an audit of the software practices currently used in automotive industry and we pinpointed potential levers to improve the global software quality. Based on the results of the audit and the literature review related to software quality, we developed a global approach to improve the design of test cases for software products. In fact, we developed a test generation platform to automatically generate test cases for a software product. It is mainly based on modeling the software functional requirements in order to be simulated when testing the software, focusing on critical tests to be done (because of their higher probability to detect a bug) and monitoring the automatic generation of tests by quality indicators such as the structural and functional coverage but also the tests cost. The generation of critical tests is based on the definition of real use profiles by software product and on the reuse of bugs and test cases capitalized on previous projects. Besides the computational aspects of software testing, our approach takes into account organizational matters such as knowledge management, competency management and project management. Our approach have been implemented in a computer platform and experimented on two typical case studies of an automotive electronic supplier, with historical test data. The results of our experiments reveal significant improvement in software quality: more bugs are detected earlier and in less time. Keywords: Software verification and validation, Automotive, Software testing process, Functional simulation, Software quality, Knowledge management, Decision making, Design process.
P L Ecole Doctorale de l Ecole Centrale Paris luridisciplinaire, l Ecole Doctorale en Sciences pour l Ingénieur de l ECP permet aux doctorants d effectuer un travail de recherche dans l une des disciplines des sciences pour l ingénieur et des sciences pour l entreprise, ce qui, pour bon nombre d entre eux complète utilement leur formation de base. Elle permet par ailleurs de concrétiser des liens entre les laboratoires et de mutualiser les moyens matériels et humains. L Le Laboratoire Génie Industriel e Laboratoire Génie Industriel (LGI) de l Ecole Centrale Paris élabore des méthodes d aide à la décision en conception et optimisation de produits, services et systèmes industriels et logistiques. L activité de recherche du laboratoire s applique aux méthodes d organisation, de gestion et d exécution de la conception, de la production et de la distribution des produits et services, sur l ensemble de leur cycle de vie. Elle a pour finalité de fournir aux entreprises les méthodes nécessaires à l amélioration de leur compétitivité en termes de performances (qualité, coût, délai). Le Laboratoire s organise en deux thèmes et trois axes de recherche : Thème 1 : Développement des biens et des services Thème 2 : Production / Distribution de biens et de services Axe 1 : Management de Projets Axe 2 : Management des Connaissances et des S.I. Axe 3 : Management de l Innovation Les thèses se font principalement dans l un des domaines scientifiques relatifs à un thème ou à un axe, même s il peut arriver qu elles se fassent transversalement à ces thèmes ou à ces axes. C est la complexité des approches (robust-design, axiomatic-design, approche systémique, recherche opérationnelle, modèles stochastiques, évaluation des performances ) qui fait la force, la performance et l originalité du Laboratoire.
Publications scientifiques Papiers soumis Awedikian R., Yannou B. A formal language to simulate the software functional requirements in automotive industry. Submitted on January 2009 in the Computers In Industry Journal Awedikian R., Yannou B. Automatic generation of relevant test cases: A practical model-based testing approach. Submitted on January 2009 in the Software Testing, Verification and Reliability Journal Conférences internationales Yannou B., Awedikian R., 2005, A Plug-And-Contract Mechanism for a Robust Assessment of Design Concepts. Proceedings of the ASME Design Engineering Technical Conferences / Design Automation Conference - DETC/DAC 2005, Long Beach, CA, USA, DETC2005/85457. Awedikian R., Yannou B., Mekhilef M., Bouclier L. and Lebreton P., 2007, Proposal for a holistic approach to improve software validation process in automotive industry. Proceedings of the 16th International Conference on Engineering Design - ICED 2007, pp. 695-696, Paris, France. Awedikian R., Yannou B., Mekhilef M., Bouclier L. and Lebreton P., 2008, A simulated model of software specifications for automating functional tests design. Proceedings of the 10th International Design Conference - DESIGN 2008, Dubrovnik, Croatia. Awedikian R., Yannou B., Mekhilef M., Bouclier L. and Lebreton P., 2008, A Radical improvement of software defects detection when automating the test generation process. Proceedings of the 10th International Design Conference - DESIGN 2008, Dubrovnik, Croatia. Awedikian R., Yannou B., 2008, An objective function for optimizing the generation of test cases for automotive software product. Proceedings of IDMME - Virtual Concept 2008 - IDMME 2008, Beijing, China. Yannou B., Dihlmann M., Awedikian R., 2008, Evolutive design of car silhouettes. Proceedings of the ASME Design Engineering Technical Conferences / Design Automation Conference - DETC/DAC 2008, New York City, NY, USA, DETC2008/49439.