software reingineering guidelines

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

software reingineering guidelines

abdelghani ALIDRA
Hi,

I am about to propose an end of studies’ project for professional Master students consisting in analysing some existing genetic algorithms frameworks with Moose. The idea is that the students 1) control the principals of code quality, architectural issues and refactoring 2) evaluate the ease of adaptation of the existing frameworks.
So my questions are :
1) has anybody experienced to work with Master students in using Moose for such purposes (analysis, reengineering, refactoring)?
2) is there a document that describes the guidelines for software code analysis, reengineering, refactoring (with Moose)?

Thank you in advance

Abdelghani

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: software reingineering guidelines

Nicolas Anquetil
Hi Abdou,

not that I know of.
Moose provides the tools, the engineers must provide the "intelligence",
the processus to extract needed informatino.

We currently have a project with Master students along these lines, but
they did not deliver it yet, so no experience result yet neither.

We recommended using Roassal (and explained how to use it) to try to get
an understanding of the "architecture"

Actually, asking them to explain HOW they got their results (As well as
WHAT results they got) could be interesting

nicolas


On 13/02/2017 15:04, Abdelghani Alidra wrote:

> Hi,
>
> I am about to propose an end of studies’ project for professional Master students consisting in analysing some existing genetic algorithms frameworks with Moose. The idea is that the students 1) control the principals of code quality, architectural issues and refactoring 2) evaluate the ease of adaptation of the existing frameworks.
> So my questions are :
> 1) has anybody experienced to work with Master students in using Moose for such purposes (analysis, reengineering, refactoring)?
> 2) is there a document that describes the guidelines for software code analysis, reengineering, refactoring (with Moose)?
>
> Thank you in advance
>
> Abdelghani
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
Nicolas Anquetil -- MCF (HDR)
Project-Team RMod

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: software reingineering guidelines

abergel
In reply to this post by abdelghani ALIDRA
hi Abdelghani,

How do you plan to use genetic algorithms ? How may it be used to improve software quality?

Cheers,
Alexandre


> On Feb 13, 2017, at 11:04 AM, Abdelghani Alidra <[hidden email]> wrote:
>
> Hi,
>
> I am about to propose an end of studies’ project for professional Master students consisting in analysing some existing genetic algorithms frameworks with Moose. The idea is that the students 1) control the principals of code quality, architectural issues and refactoring 2) evaluate the ease of adaptation of the existing frameworks.
> So my questions are :
> 1) has anybody experienced to work with Master students in using Moose for such purposes (analysis, reengineering, refactoring)?
> 2) is there a document that describes the guidelines for software code analysis, reengineering, refactoring (with Moose)?
>
> Thank you in advance
>
> Abdelghani
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: software reingineering guidelines

abdelghani ALIDRA
In reply to this post by abdelghani ALIDRA
Hi Alex,

The idea is not to use genetic algorithms to improve software quality. Rather, to use Moose to enhance the design of existing frameworks for genetic algorithms.
I have attached a brief description of the project to this email. It is in french but this is not a problem for you I think :)




On 15 Feb 2017, at 12:00, [hidden email] wrote:

Message: 2
Date: Tue, 14 Feb 2017 08:13:22 -0300
From: Alexandre Bergel <[hidden email]>
To: Moose-related development <[hidden email]>
Subject: [Moose-dev] Re: software reingineering guidelines
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=utf-8

hi Abdelghani,

How do you plan to use genetic algorithms ? How may it be used to improve software quality?

Cheers,
Alexandre



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev

Etude comparative.docx (18K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: software reingineering guidelines

abdelghani ALIDRA
In reply to this post by abdelghani ALIDRA
Hi Nicolas,


On 15 Feb 2017, at 12:00, [hidden email] wrote:

Message: 1
Date: Tue, 14 Feb 2017 12:10:54 +0100
From: Nicolas Anquetil <[hidden email]>
To: Moose-related development <[hidden email]>
Subject: [Moose-dev] Re: software reingineering guidelines
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=utf-8; format=flowed

Hi Abdou,

not that I know of.
Moose provides the tools, the engineers must provide the "intelligence", 
the processus to extract needed informatino.

We currently have a project with Master students along these lines, but 
they did not deliver it yet, so no experience result yet neither.

I was thinking that people from Synectic (for instance) could have some valuable experience in this field (where to start from, a list of what to look for, how to look for it, the different reports, …)

We recommended using Roassal (and explained how to use it) to try to get 
an understanding of the “architecture”
Yes, and use the queries to gets different metrics about the projects. maybe detect some (anti) patterns...

Actually, asking them to explain HOW they got their results (As well as 
WHAT results they got) could be interesting

Definitely, this is part of the objectives too :)
Maybe we could produce a sorte of practical guide to code analysis with Moose.

nicolas


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: software reingineering guidelines

Anne Etien
Hi Abdelghani,

You can have a look at my slides. http://www.lifl.fr/~etien/Lucene/testMaintenance.html (page is in French, but slides in English)
I don’t do the visualisation in these slides because Nicolas does. But you can see that I try to see what are the smells or critics that I want to highlight in a software that I do not know.

Sincerely,
Anne




Le 16 févr. 2017 à 12:08, Abdelghani Alidra <[hidden email]> a écrit :

Hi Nicolas,


On 15 Feb 2017, at 12:00, [hidden email] wrote:

Message: 1
Date: Tue, 14 Feb 2017 12:10:54 +0100
From: Nicolas Anquetil <[hidden email]>
To: Moose-related development <[hidden email]>
Subject: [Moose-dev] Re: software reingineering guidelines
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=utf-8; format=flowed

Hi Abdou,

not that I know of.
Moose provides the tools, the engineers must provide the "intelligence", 
the processus to extract needed informatino.

We currently have a project with Master students along these lines, but 
they did not deliver it yet, so no experience result yet neither.

I was thinking that people from Synectic (for instance) could have some valuable experience in this field (where to start from, a list of what to look for, how to look for it, the different reports, …)

We recommended using Roassal (and explained how to use it) to try to get 
an understanding of the “architecture”
Yes, and use the queries to gets different metrics about the projects. maybe detect some (anti) patterns...

Actually, asking them to explain HOW they got their results (As well as 
WHAT results they got) could be interesting

Definitely, this is part of the objectives too :)
Maybe we could produce a sorte of practical guide to code analysis with Moose.

nicolas

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: software reingineering guidelines

abergel
In reply to this post by abdelghani ALIDRA
Ah ah! Sorry, I read too fast!

But it is not clear what are you referring to when you mention “generic algorithm”? Can you give an example?

Alexandre


> On Feb 16, 2017, at 8:06 AM, Abdelghani Alidra <[hidden email]> wrote:
>
> Hi Alex,
>
> The idea is not to use genetic algorithms to improve software quality. Rather, to use Moose to enhance the design of existing frameworks for genetic algorithms.
> I have attached a brief description of the project to this email. It is in french but this is not a problem for you I think :)
>
>
> <Etude comparative.docx>
>
>> On 15 Feb 2017, at 12:00, [hidden email] wrote:
>>
>> Message: 2
>> Date: Tue, 14 Feb 2017 08:13:22 -0300
>> From: Alexandre Bergel <[hidden email]>
>> To: Moose-related development <[hidden email]>
>> Subject: [Moose-dev] Re: software reingineering guidelines
>> Message-ID: <[hidden email]>
>> Content-Type: text/plain; charset=utf-8
>>
>> hi Abdelghani,
>>
>> How do you plan to use genetic algorithms ? How may it be used to improve software quality?
>>
>> Cheers,
>> Alexandre
>>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: software reingineering guidelines

Nicolas Anquetil
In reply to this post by abdelghani ALIDRA

Hi,

not really, mainly because the projects we have are not all at that level of abstraction: analyzing a big class to cut it into pieces is not the same thing as understanding a big system as a whole.

But we are indeed interested in what your students may have to propose :-)

nicolas


On 16/02/2017 12:08, Abdelghani Alidra wrote:
Hi Nicolas,


On 15 Feb 2017, at 12:00, [hidden email] wrote:

Message: 1
Date: Tue, 14 Feb 2017 12:10:54 +0100
From: Nicolas Anquetil <[hidden email]>
To: Moose-related development <[hidden email]>
Subject: [Moose-dev] Re: software reingineering guidelines
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=utf-8; format=flowed

Hi Abdou,

not that I know of.
Moose provides the tools, the engineers must provide the "intelligence", 
the processus to extract needed informatino.

We currently have a project with Master students along these lines, but 
they did not deliver it yet, so no experience result yet neither.

I was thinking that people from Synectic (for instance) could have some valuable experience in this field (where to start from, a list of what to look for, how to look for it, the different reports, …)

We recommended using Roassal (and explained how to use it) to try to get 
an understanding of the “architecture”
Yes, and use the queries to gets different metrics about the projects. maybe detect some (anti) patterns...

Actually, asking them to explain HOW they got their results (As well as 
WHAT results they got) could be interesting

Definitely, this is part of the objectives too :)
Maybe we could produce a sorte of practical guide to code analysis with Moose.

nicolas


-- 
Nicolas Anquetil -- MCF (HDR)
Project-Team RMod

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: software reingineering guidelines

abdelghani ALIDRA
In reply to this post by abdelghani ALIDRA
Hi,

Thank you Nicolas and Anne for the hints/links

@Alex
Yes, genetic algorithms are “abstract” algorithms. I am actually talking about analysing the code of the frameworks for developing different genetic algorithms to solve all kinds of optimisation problems (knapsack, Traveling Salesman Problem but also “real life" problems : image processing, and many artificial intelligence problems)

There are many GA frameworks. Some popular ones are : ECJ (https://cs.gmu.edu/~eclab/projects/ecj/), OpenBeagle (http://vision.gel.ulaval.ca/~parizeau/Publications/beagle-gecco.pdf), WatchMaker (http://watchmaker.uncommons.org/), HeuristicLab (http://dev.heuristiclab.com/)…

Abdelghani


Message: 4
Date: Thu, 16 Feb 2017 11:02:44 -0300
From: Alexandre Bergel <[hidden email]>
To: Moose-related development <[hidden email]>
Subject: [Moose-dev] Re: software reingineering guidelines
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=utf-8

Ah ah! Sorry, I read too fast!

But it is not clear what are you referring to when you mention “generic algorithm”? Can you give an example?

Alexandre


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev