IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

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

Haskell Discussion :

reverse engineering Haskell


Sujet :

Haskell

  1. #1
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 21
    Points : 17
    Points
    17
    Par défaut reverse engineering Haskell
    Bonjour les développeurs ,
    Je connais pas le langage Haskell et je dois travailler avec du code en Haskell. En fait, je dois analyser le code et j'ai des métriques à calculer pour des projets en langage "fonctionnel". Donc y-at-il un outil me permettant d'avoir l'algorithme à partir du code, chose comme le reverse engineering?
    Merci

  2. #2
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 21
    Points : 17
    Points
    17
    Par défaut Haskell refactoring tool HaRe
    Bonjour,
    j'ai trouvé cet outil https://www.cs.kent.ac.uk/projects/r...r-fp/hare.html mais j'arrive ps à l'installer je suis sur windows 32 bits.
    connaissez vous cet outil?? comment je l'installe??
    Merci

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    "Reverse engineering" ? C'est du Haskell, un langage haut-niveau, pas de l'assembleur !
    En quel diable de langage voudrais-tu "extraire l'algorithme" ? Tu n'auras de toute façon jamais de description plus claire que celle en Haskell, surtout avec un outil automatique...

    HaRe est un outil de refactoring, autrement dit un outil qui permet de modifier automatiquement certaines caractéristiques du code (changer le nom d'une fonction, modifier un type, etc...), en aucun cas il ne te permettra d'"extraire l'algorithme".

    La syntaxe d'Haskell n'est pas trop complexe. Si ton code n'est pas super-avancé, il ne devrait pas être trop difficile à comprendre. Il y a des cours sur Developpez pour t'aider à démarrer et si tu es bloqué, nous pouvons éventuellement t'assister ponctuellement.

    --
    Jedaï

  4. #4
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Merci jedai pour ta réponse,
    mais le reverse engineering est possible pour des langage haut niveau tel que java. Bref, j'ai des statistiques à faire sur un ensemble des programmes parmi eux il y a du "Haskell" et j'ai pas beaucoup de temps pour apprendre le haskell . Pour mois , je veux savoir: les fonctions ,les entrées , les sorties, et qu'est ce que fait le programme.Pour cela, je cherche un moyen qui me permet d'avoir ces informations sans apprendre le "Haskell".
    Merci

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    On fait rarement du "reverse engineering" sur du Java (je ne parle pas de bytecode pour la JVM, mais bien d'un programme en clair en Java), le terme "reverse engineering" présume de partir d'une représentation dont toute information sémantique a été omise et de reconstituer cette information, ce n'est pas le cas d'un programme normal dans un langage de haut-niveau.

    En particulier aucun outil automatique ne te dira jamais "Ce que fait un programme". Pour cela, il faut lire les commentaires/la documentation s'ils existent et sinon lire le code.
    Il est relativement facile d'extraire les fonctions déclarées et importé par un module néanmoins, ainsi que leur type (utiliser GHCi avec :browse est un bon début).

    Sans en savoir plus sur les statistiques que tu souhaites générer et la base de code que tu examines, je peux difficilement t'en dire plus.

    --
    Jedaï

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Om yassoufa Voir le message
    mais le reverse engineering est possible pour des langage haut niveau tel que java.
    Citation Envoyé par Jedai Voir le message
    On fait rarement du "reverse engineering" sur du Java (je ne parle pas de bytecode pour la JVM, mais bien d'un programme en clair en Java), le terme "reverse engineering" présume de partir d'une représentation dont toute information sémantique a été omise et de reconstituer cette information, ce n'est pas le cas d'un programme normal dans un langage de haut-niveau.
    +1000 avec Jedaï, le reverse engineering sert à retrouver un code & cie à partir de bytecode/binaire/truc sorti d'offuscation
    Ce n'est pas du tout le cas pour un code déjà écrit dans un langage de haut-niveau

    Citation Envoyé par Om yassoufa Voir le message
    Bref, j'ai des statistiques à faire sur un ensemble des programmes parmi eux il y a du "Haskell" et j'ai pas beaucoup de temps pour apprendre le haskell . Pour mois , je veux savoir: les fonctions ,les entrées , les sorties, et qu'est ce que fait le programme.Pour cela, je cherche un moyen qui me permet d'avoir ces informations sans apprendre le "Haskell".
    Ce que tu cherches à faire est un calcul de métrique... Cela n'a rien à voir avec un reverse engineering


    Tu pourrais essayer ceci
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

Discussions similaires

  1. Est-il possible de bloquer le reverse engineering ?
    Par fugi dans le forum Assembleur
    Réponses: 39
    Dernier message: 31/07/2007, 03h33
  2. Schéma du modèle de données : reverse engineering
    Par slefevre01 dans le forum Designer
    Réponses: 2
    Dernier message: 20/08/2005, 10h38
  3. cherche outil de reverse engineering
    Par peppena dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 14/06/2005, 16h59
  4. [HELP] Reverse Engineering
    Par ArKhAn dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 13/12/2004, 22h15
  5. reverse engineering en C#
    Par Bouboubou dans le forum Rational
    Réponses: 3
    Dernier message: 07/10/2004, 11h28

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