====== Propositions de sujets pour une étude de "reverse engineering" ======
Date limite du sujet sur le slack lundi 20h.
\\
Vous pouvez tout à fait proposer votre propre sujet. Mais vous devez le faire valider avant de vous lancer dans le projet.
===== Avant-Propositions =====
* Les questions sont données à titre indicatif. Il vous appartient (1) de choisir celles qui vous intéressent et (2) de les reformuler avec précision pour pouvoir y répondre avec des éléments tangibles : métriques, schéma d'architecture, ...
* Vous ne devez pas avoir besoin de déployer les plateformes pour répondre aux questions, mais vous le pouvez.
* Il est possible que vous ne puissiez par répondre à certaines questions sur tous les points, mais vous pouvez établir quelles informations vous manquent ou comment vous procéderiez vous si vous aviez du temps?
===== Puis-je avoir confiance dans ce logiciel ? =====
\\
=== Projet : PIX ===
Le projet Pix - https://pix.beta.gouv.fr/
PIX est un projet public de plateforme en ligne d’évaluation et de certification des compétences numériques, en cours de développement.
PIX est développée selon la méthodologie agile des « Startups d’Etat » dans le cadre d’un partenariat entre tous les acteurs du ministère de l’Education nationale, de l’Enseignement supérieur et la Recherche, le Conseil national éducation-économie et le secrétariat général à la modernisation de l’action publique....
Le référentiel de compétences s’adapte en permanence aux évolutions du monde numérique.
===Code ===
https://github.com/sgmap/pix
=== Premières questions ===
Nous nous posons la question d'utiliser cette plateforme dans un cadre privé ou au contrairement d'établissement.
Indépendamment des aspects politiques ((au sens premier du terme)) voici quelques questions auxquelles nous aimerions des réponses afin de faire ce choix ou non.
Bien sûr vous êtes libres((fortement invités)) à les reformuler :
- A l'étude du code, est-ce que l'on peut faire confiance à la **robustesse** de la plateforme face à des hordes d'étudiants?
- Ce projet en version béta va devoir très fortement évolué pour s'adapter d'une part aux différents publiques, d'autres parts aux évolutions des NTICs. Quels sont les mécanismes d'évolution prévus? Pouvez vous évaluer quantitativement et/ou qualitativement la capacité d'évolution de ces codes ? la réactivité constatée de l’équipe de développement ?
- Ces codes seraient développés en mode agile. Pouvez-vous le confirmer à l'analyse du dépôt?
- Peut on faire confiance à un tel projet ? Quid de la qualité des codes ? Quid des aspects sécurité? Si vous ne pouvez pas répondre, complérement préciser cependant les éléments manquants.
- Certains textes parlent d’utiliser le "Machine Learning" pour apprendre des données produites par les utilisateurs. Pensez-vous qu’il sera facile d’accéder à ces informations et à quelles informations ?
===== Apprendre du code =====
\\
=== Projet ===
https://www.cs.waikato.ac.nz/ml/weka/
Weka is a collection of machine learning algorithms for data mining tasks.
Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization.
It is also well-suited for developing new machine learning schemes.
Weka is open source software issued under the GNU General Public License.
===Code ===
https://github.com/bnjmn/weka/
=== Premières questions ===
Il n'est pas question dans le cadre de ce module de vous demander de comprendre les algorithmes de ML, mais de "seulement" ce que vous sauriez apprendre par le code.
Vous pouvez faire le choix de réduire vos investigations à une sous-partie des codes.
Voici quelques unes des questions que nous nous posons :
* Pourrions-nous avoir une vision globale de la structure des codes? Quelles sont les classes très partagées ?
* On ne dispose pas ici de l'histoire du code ou que très partiellement, que peut-on cependant savoir des auteurs des différents algorithmes?
* Tous les algorithmes ne supportent pas les mêmes données en entrée (i.e. certains algorithmes dans le CSV ne peuvent pas avoir d'attributs nominaux par exemple), sauriez-vous remonter l'ensemble de ces contraintes par une simple analyse des codes?
* Sauriez-vous établir la "complexité" ((il vous appartient de préciser son sens)) des différents algorithmes.
* Quid de la qualité de ces codes((A vous de choisir le/les sens de qualité dans votre étude))?
/*===== Meme titre que Weka =====
*/
=== Projet ===
Scikit-learn is a Python module for machine learning built on top of SciPy and distributed under the 3-Clause BSD license.
The project was started in 2007 by David Cournapeau as a Google Summer of Code project, and since then many volunteers have contributed. See the AUTHORS.rst file for a complete list of contributors.
It is currently maintained by a team of volunteers.
Website: http://scikit-learn.org
===Code ===
https://github.com/scikit-learn/scikit-learn
=== Premières questions ===
Mêmes questions que pour Weka à l'exclusion de celle sur les auteurs qui pourra être abordée différemment ici.
=== Projet ===
http://spoon.gforge.inria.fr/
Spoon is an open-source library that enables you to transform (see example) and analyze Java source code (see example) .
Spoon provides a complete and fine-grained Java metamodel where any program element (classes, methods, fields, statements, expressions...) can be accessed both for reading and modification.
Spoon takes as input source code and produces transformed source code ready to be compiled.
SpoonLabs is a Github group for centralizing all projects and experiments that use Spoon for Java source code analysis and transformation using Spoon
===Code ===
https://github.com/SpoonLabs
=== Premières questions ===
Sauriez-vous parser les bases de codes d'utilisation de Spoon pour déterminer :
- la place de spoon dans ces projets;
- les types d'éléments mis en jeu dans les transformations de codes;
- les dépendances entre ces codes.
===== Comparer des codes =====
=== Projet ===
Il s'agit de comparer Weka et Scikit-learn (voir plus haut).
===Code ===
https://github.com/scikit-learn/scikit-learn
=== Premières questions ===
Comparer ces deux bibliothèques :
- Sauriez-vous de manière automatique déterminer les algos présents versus absents de ces deux bibliothèques?
- Pourriez vous faire le lien entre les deux architectures (structurations) de ces libraires?
- En quoi les communautés qui contribue au niveau code, sont elles différentes?
===== Quels tests ? Quels limites dans les codes? Que nous .. DOCKER =====
=== Projet ===
Description
===Code ===
code
=== Premières questions ===
1) https://github.com/docker/compose
Quels sont les principaux contributeurs ?
Quelle est l’histoire vu du côté code : fonctionnalités ajoutées - ôtées
Quelle qualité pour les codes ?
- Quelle fréquence de bug ? Quelle couverture ?
Peut-on croire à la pérennité de cet outil ?
Quells tests de composition?
===== Quel métric pour quoi? =====
=== Projet ===
Description
===Code ===
code
=== Premières questions ===
L'idée serait ici d'évaluer plusieurs projets et de regarder la correspondance des métriques avec nos attentes...
===== BUT4Reuse =====
=== Projet ===
Description
===Code ===
https://github.com/but4reuse/but4reuse
=== Premières questions ===
Quelle qualité des codes composés?
===== JUNIT5 =====
=== Projet ===
Description
===Code ===
https://github.com/junit-team/junit5
=== Premières questions ===
sss
===== TITRE =====
=== Projet ===
Description
===Code ===
=== Premières questions ===
sss
===== TITRE =====
=== Projet ===
Description
===Code ===
code
=== Premières questions ===
sss
de python 2 à 3 :
Il existe 22three
Quels projets l'utilisent?
Quels tickets ont été postés?
Quelles sont les codes impactés? Si cela fonctionne pourquoi les gens ne migrent pas ?
J'ai un soft pour remplir ... on trouve les jar sur maven
1) comment recherchez vous?
2) Pas tous ont les sources
JTS biblio de codes .... géométrie algébrique en java
JTS source code
8 repos github différents
C'est la seule
Retracer l'historique de ce soft, identifier les évolutions,
On les laisse faire.
regarder tous les projets qui utilisent Docker-compose avec des versions differentes.. est-ce qu'il y a eu des migrtions?
je veux tous les fichier qui ont utilisé Docker-compose?
les images les plus composées? La taille moyenne ? Binding réseaux? Les volumes?
Comment est architecturé le code entre tous les Dockers