Pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter, inscrivez-vous gratuitement !

 

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    3 803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 3 803
    Points : 95 085
    Points
    95 085

    Par défaut Ubisoft met une IA au service des développeurs de jeux pour prédire les bogues

    Ubisoft met une IA au service des développeurs de jeux pour prédire les bogues,
    et en identifier les causes potentielles

    Ubisoft, le studio français de développement, d'édition et de distribution de jeux vidéo, a présenté un nouvel outil lors de la conférence Ubisoft des développeurs (UDC) à Montréal. Comme son nom le suggère, Dubbed Commit Assistant a pour objectif d’aider les développeurs à identifier les bogues lors du « commit », la phase pendant laquelle un développeur publie son code à l’ensemble de l’équipe. Pour ce faire, l’outil s’appuie sur l’intelligence artificielle.

    « Je pense que comme beaucoup de bonnes idées, on se demande : comment se fait-il que nous n’y avions pas pensé avant ? », explique Yves Jacquier, qui dirige La Forge, la division R&D d’Ubisoft à Montréal. Son département travaille en partenariat avec des universités locales, dont McGill et Concordia. Afin de collaborer sur des recherches visant à faire progresser le domaine de l’intelligence artificielle dans son ensemble, et pas seulement dans l’industrie des jeux vidéo.

    La Forge a fourni au « Commit Assistant » une dizaine d’années de code à travers la bibliothèque de logiciels d’Ubisoft. Permettant ainsi d’apprendre où les erreurs ont été historiquement faites, de référencer les corrections appliquées et de prédire quand un développeur pourrait écrire un bogue similaire. « Il s’agit de comparer les lignes de code que nous avons créées dans le passé, les bogues qui y ont été créés et les bogues qui ont été corrigés. Et de trouver un moyen de créer des liens entre eux pour fournir une super-IA pour les développeurs », explique Jacquier.

    Les joueurs s'attendent à ce que les jeux vidéo publiés par les grands éditeurs comme Ubisoft soient exempts de bogues. Cependant, éliminer tous les bogues de ces produits peut être laborieux et prendre beaucoup de temps. Une aide supplémentaire n’est donc pas superflue.


    Yves Jacquier

    Dans la vidéo de présentation, la voix avance :

    « Les bogues et les régressions peuvent créer un ralentissement significatif dans un flux de travail complexe. Alors les éliminer aussi vite que possible est devenu une activité critique, car il peut arriver qu’ils absorbent jusqu’à 70 % des coûts de développement. Alors, imaginez être en mesure de prédire et de prévenir les bogues et les régressions avant qu’ils ne deviennent un problème. C’est ici qu’intervient Commit Assistant.

    « S’appuyant sur les dernières techniques de machine learning et de big data, nous pouvons analyser tous les bogues et régressions passés et, pour chacun d’eux, déduire une signature unique. Ainsi, quand votre contribution de code est présentée à notre Commit Assistant, s’il trouve une correspondance dans l’une de ces signatures, il se focalise dessus et donne une estimation sur la probabilité que telle portion de code contienne un bogue.

    « Commit Assistant va donc lancer une alerte qui est capable de se déclencher sur six bogues sur dix. Il y a tout de même 30 % de faux positifs. Néanmoins, tandis que de nouveaux bogues sont ajoutés, notre Commit Assistant va créer de nouvelles signatures, réduisant ainsi le taux de faux positif. »


    Mais ce n’est pas tout. Commit Assistant va plus loin qu’une simple identification de bogues : « Il applique des techniques renforcées de machine learning pour extraire les causes les plus probables d’un problème spécifique puis suggère aux développeurs des corrections et des améliorations pour des résolutions rapides. »

    Selon Yves Jacquier, l'IA pourrait permettre aux développeurs de gagner 20 % de leur temps.

    Source : Wired

    Et vous ?

    Que pensez-vous de cette idée ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre confirmé Avatar de Vulcania
    Homme Profil pro
    Developpeur C++
    Inscrit en
    juillet 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur C++
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2011
    Messages : 79
    Points : 607
    Points
    607

    Par défaut

    Moi aussi j'ai fait une IA pour éviter aux devs de faire trop bugs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Faites des deadlines réalistes");

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    juin 2013
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2013
    Messages : 164
    Points : 506
    Points
    506

    Par défaut

    Il est vrai que le vrai visage de l'industrie du jeu vidéo se dévoile de plus en plus en ce moment et que c'est un secteur où il ne fait vraiment pas bon de travailler ... Sur de la production intellectuelle, un environnement sain permet de réduire une grosse partie des erreurs. Et je plussoie mon VDD sur les deadlines (mais ça c'est valide pour n'importe quel secteur)

  4. #4
    Membre expérimenté Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    mars 2009
    Messages
    946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : mars 2009
    Messages : 946
    Points : 1 542
    Points
    1 542

    Par défaut

    Citation Envoyé par Vulcania Voir le message
    Moi aussi j'ai fait une IA pour éviter aux devs de faire trop bugs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Faites des deadlines réalistes");
    Le tout petit petit problème, c'est que plus tu laisses de temps à quelqu'un pour faire une tâche, plus la tâche prendra du temps.
    Attention, je ne dis pas que les deadlines wtf ça n'existe pas, je dis juste que la limite entre "la deadline est impossible à tenir" et "j'ai 3 mois pour faire ça ? Cool, j'ai tout le temps, je m'y mets demain", et bien elle est assez flou.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    octobre 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : octobre 2008
    Messages : 155
    Points : 306
    Points
    306

    Par défaut

    Citation Envoyé par earhater Voir le message
    Il est vrai que le vrai visage de l'industrie du jeu vidéo se dévoile de plus en plus en ce moment et que c'est un secteur où il ne fait vraiment pas bon de travailler ... Sur de la production intellectuelle, un environnement sain permet de réduire une grosse partie des erreurs. Et je plussoie mon VDD sur les deadlines (mais ça c'est valide pour n'importe quel secteur)
    On parle de plus en plus des horreurs qui peuvent se passer dans certains studios de jeux (et ça fait avancer les choses positivement) mais crois-moi il existe plein de boîtes qui sont très bien !

    Disclaimer: je bosse chez Ubi mais pas sur Assassin, donc je sais pas comment ça se passe là-bas, mais je peux te dire que l'équipe dans laquelle je suis est super agréable, le projet sympa et même s'il y a des problèmes de prod et des périodes de crunch on est très loin de ce qu'on entend dans certains studios.

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 23 646
    Points : 170 233
    Points
    170 233
    Billets dans le blog
    34

    Par défaut

    Bonjour,

    @dancingmad : Allez-vous avoir accès à cet outil ?

    J'ai du mal à voir comment l'« IA » peut fonctionner. Ce n'est pas le problème avec la théorie des réseaux neuronaux ou autre, mais plus de comment elle arrive à trouver les bogues et surtout, quels types de bogues. Sachant qu'il y a la programmation pure du coeur du jeu (et encore, je doute que l'on recode les classes et formules liées aux vecteurs/matrices ou encore le coeur du moteur de rendu tous les matins), ou la programmation plus orientée gameplay.
    Et, en partant sur les extrêmes, je me dis que l' « IA » peut considérer un nouveau gameplay comme un bogue.
    [TROLL]
    Mais ça ne gêne pas, dans un studio qui chaque année ressors un nouvel opus d'une franchise (soit, avec peu de différence de gameplay avec le précédent) .
    [/TROLL]

    Finalement, si avec dix ans de code, il reste 20 % de faux positifs (et combien de bogues va t-elle laisser passer ?), c'est qu'il n'y a pas assez d'input dans le constitution du modèle de l'IA. Mais dix ans de code, pour Ubisoft, c'est absolument énorme. Faudra t-il 10 ans de plus pour avoir un système bien plus fiable ? Les faux positifs ne font t-ils pas aussi perdre du temps à l'époque ?
    Que se passe t-il lorsque l'IA considère un code bogué ? L'auteur doit t-il le relire, le modifier et le commiter à nouveau ? Y a t-il un moyen de forcer le commit de son code après relecture ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    octobre 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : octobre 2008
    Messages : 155
    Points : 306
    Points
    306

    Par défaut

    Théoriquement oui, mais comme c'est un gros outil à mettre en place ça risque de mettre un peu de temps à arriver.

    Il faut voir ça comme un analyseur statique de code amélioré. Au moment de commit son code, l'outil se lance et va analyser les changements faits, essayer de comprendre la sémantique et évaluer le risque.

    Par exemple, si j'écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Hello %d", "World");
    N'importe quel outil d'analyse statique est aujourd'hui capable de voir qu'il y a une erreur, parce que quelque part un codeur a rentré la règle que dans un printf, le symbole %d soit être suivi d'un entier et pas d'une chaîne de caractère. Dans le cas de l'outil fourni par Ubisoft, ces règles peuvent être inférées directement à partir de l'historique même du projet, en comparant les commits qui ont provoqués des erreurs et ceux qui en ont corrigés. Pour que ça marche bien, il faut évidement brancher tout ça sur l'historique Perforce/SVN/Git/etc du projet et sur la base de bugs.

    Le but au final c'est qu'au moment de submiter son code, l'outil fasse lève un avertissement pour prévenir le programmeur que quelque chose n'est pas net (dans notre exemple on peut s'attendre à un erreur du genre '"warning: mismatch between string format '%d' and provided argument (char*). Do you mean '%s'?").

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/06/2016, 03h52
  2. Réponses: 1
    Dernier message: 24/01/2014, 11h19
  3. Réponses: 4
    Dernier message: 12/09/2013, 13h40
  4. Réponses: 14
    Dernier message: 23/06/2009, 11h22
  5. Réponses: 9
    Dernier message: 07/06/2009, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo