comp.lang.ada
 help / color / mirror / Atom feed
* The concept of semantic patching
@ 2011-08-07 15:34 Yannick Duchêne (Hibou57)
  2011-08-08 18:20 ` Ludovic Brenta
  0 siblings, 1 reply; 5+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2011-08-07 15:34 UTC (permalink / raw)


Hi Ada novelist,

I recently learned about Coccinelle (after a French word meaning  
ladybird/ladybug… the authors are French)
http://coccinelle.lip6.fr

The quick introduction on the home page, first made me think about a new  
refactoring tool for C, then later to a semantic analysis provider like  
the one we get with ASIS. However, looking a bit further, it seems to go  
beyond what ASIS do. Mapped to the Ada world, this could be an ASIS  
application, not ASIS on its own.
http://coccinelle.lip6.fr/Intro_gen.pdf

Just out of curiosity, does any one ever heard about something similar in  
the Ada word ? (proprietary or not, this does not matter, I just want to  
know)


-- 
“Syntactic sugar causes cancer of the semi-colons.”  [Epigrams on  
Programming — Alan J. — P. Yale University]
“Structured Programming supports the law of the excluded muddle.” [Idem]
Java: Write once, Never revisit



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: The concept of semantic patching
  2011-08-07 15:34 The concept of semantic patching Yannick Duchêne (Hibou57)
@ 2011-08-08 18:20 ` Ludovic Brenta
  2011-08-09 15:50   ` Yannick Duchêne (Hibou57)
  0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Brenta @ 2011-08-08 18:20 UTC (permalink / raw)


Yannick Duchêne writes on comp.lang.ada:
> Hi Ada novelist,
>
> I recently learned about Coccinelle (after a French word meaning
> ladybird/ladybug… the authors are French)
> http://coccinelle.lip6.fr
>
> The quick introduction on the home page, first made me think about a
> new refactoring tool for C, then later to a semantic analysis provider
> like  the one we get with ASIS. However, looking a bit further, it
> seems to go  beyond what ASIS do. Mapped to the Ada world, this could
> be an ASIS  application, not ASIS on its own.
> http://coccinelle.lip6.fr/Intro_gen.pdf
>
> Just out of curiosity, does any one ever heard about something similar
> in the Ada word ? (proprietary or not, this does not matter, I just
> want to  know)

adasubst and adadep from Adalog and Jean-Pierre Rosen.

http://www.adalog.fr/compo1.htm#adadep

-- 
Ludovic Brenta.
The steering committee delivers, while high level intricacies prioritize
an intelligent dotted line.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: The concept of semantic patching
  2011-08-08 18:20 ` Ludovic Brenta
@ 2011-08-09 15:50   ` Yannick Duchêne (Hibou57)
  2011-08-09 16:38     ` J-P. Rosen
  0 siblings, 1 reply; 5+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2011-08-09 15:50 UTC (permalink / raw)


Le Mon, 08 Aug 2011 20:20:08 +0200, Ludovic Brenta  
<ludovic@ludovic-brenta.org> a écrit:
Hi Ludovic,

> adasubst and adadep from Adalog and Jean-Pierre Rosen.
>
> http://www.adalog.fr/compo1.htm#adadep
>
AdaDep don't play in the same area. AdaSubst is more close, but don't do  
the same. Some part of what Coccinelle do, as far I understand it, could  
be done with AdaControl, some other part with AdaSubst. But look at how  
the patch works, as exposed in
http://coccinelle.lip6.fr/Intro_gen.pdf
Seems to be able to insert instructions at relevant place too (that's why  
I feel this is more than classical refactoring, although this is still  
kind of refactoring). Unless I am wrong about AdaSubst can do, I believe  
it does not come this ability.


-- 
“Syntactic sugar causes cancer of the semi-colons.”  [Epigrams on  
Programming — Alan J. — P. Yale University]
“Structured Programming supports the law of the excluded muddle.” [Idem]
Java: Write once, Never revisit



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: The concept of semantic patching
  2011-08-09 15:50   ` Yannick Duchêne (Hibou57)
@ 2011-08-09 16:38     ` J-P. Rosen
  2011-08-11  7:04       ` onox
  0 siblings, 1 reply; 5+ messages in thread
From: J-P. Rosen @ 2011-08-09 16:38 UTC (permalink / raw)


Le 09/08/2011 17:50, Yannick Duchêne (Hibou57) a écrit :
> Le Mon, 08 Aug 2011 20:20:08 +0200, Ludovic Brenta
> <ludovic@ludovic-brenta.org> a écrit:
> Hi Ludovic,
> 
>> adasubst and adadep from Adalog and Jean-Pierre Rosen.
>>
>> http://www.adalog.fr/compo1.htm#adadep
>>
> AdaDep don't play in the same area. AdaSubst is more close, but don't do
> the same. Some part of what Coccinelle do, as far I understand it, could
> be done with AdaControl, some other part with AdaSubst. But look at how
> the patch works, as exposed in
> http://coccinelle.lip6.fr/Intro_gen.pdf
> Seems to be able to insert instructions at relevant place too (that's
> why I feel this is more than classical refactoring, although this is
> still kind of refactoring). Unless I am wrong about AdaSubst can do, I
> believe it does not come this ability.
> 
AdaSubst does only (semantic) identifiers substitution. But it comes
with a package ("Producer") which makes it easy to perform any
transformation on source code.

I didn't investigate what Coccinelle really does, but if anybody is
tempted to do it... Since Coccinelle  means Ladybug, it could be called
Ladabug :-)

-- 
---------------------------------------------------------
           J-P. Rosen (rosen@adalog.fr)
Adalog a déménagé / Adalog has moved:
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: The concept of semantic patching
  2011-08-09 16:38     ` J-P. Rosen
@ 2011-08-11  7:04       ` onox
  0 siblings, 0 replies; 5+ messages in thread
From: onox @ 2011-08-11  7:04 UTC (permalink / raw)


On Aug 9, 6:38 pm, "J-P. Rosen" <ro...@adalog.fr> wrote:
> Le 09/08/2011 17:50, Yannick Duchêne (Hibou57) a écrit :
>
>
>
>
>
>
>
> > Le Mon, 08 Aug 2011 20:20:08 +0200, Ludovic Brenta
> > <ludo...@ludovic-brenta.org> a écrit:
> > Hi Ludovic,
>
> >> adasubst and adadep from Adalog and Jean-Pierre Rosen.
>
> >>http://www.adalog.fr/compo1.htm#adadep
>
> > AdaDep don't play in the same area. AdaSubst is more close, but don't do
> > the same. Some part of what Coccinelle do, as far I understand it, could
> > be done with AdaControl, some other part with AdaSubst. But look at how
> > the patch works, as exposed in
> >http://coccinelle.lip6.fr/Intro_gen.pdf
> > Seems to be able to insert instructions at relevant place too (that's
> > why I feel this is more than classical refactoring, although this is
> > still kind of refactoring). Unless I am wrong about AdaSubst can do, I
> > believe it does not come this ability.
>
> AdaSubst does only (semantic) identifiers substitution. But it comes
> with a package ("Producer") which makes it easy to perform any
> transformation on source code.
>
> I didn't investigate what Coccinelle really does, but if anybody is
> tempted to do it... Since Coccinelle  means Ladybug, it could be called
> Ladabug :-)
>
> --
> ---------------------------------------------------------
>            J-P. Rosen (ro...@adalog.fr)
> Adalog a déménagé / Adalog has moved:
> 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
> Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00

lwn.net says: "Coccinelle is useful for finding a lot of types of bugs
through advanced code analysis and pattern matching. It can finger
many types of memory leaks, locking problems, bad API usage, null
pointer dereferences, and so on. Arnd Bergmann noted that it can be
very useful for refactoring as well; he found it to be helpful in his
big kernel lock removal work."

http://lwn.net/Articles/412750/



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-08-11  7:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-07 15:34 The concept of semantic patching Yannick Duchêne (Hibou57)
2011-08-08 18:20 ` Ludovic Brenta
2011-08-09 15:50   ` Yannick Duchêne (Hibou57)
2011-08-09 16:38     ` J-P. Rosen
2011-08-11  7:04       ` onox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox