mboost-dp1

Linux

Dansk fejlsøgningssoftware anerkendt af linuxudviklere

- Via Version2 - , redigeret af Avenger- , indsendt af arne_v

Når det kommer til softwareudvikling, vil der altid opstå fejl, og der findes mange værktøjer, som kan hjælpe med at finde og eliminere disse. Et af dem er Coccinelle, der bl.a. er udviklet i Danmark.

Coccinelle er netop blevet inkluderet i Linux-kernens udviklingstræ, hvilket er en stort skulderklap til softwaren og ikke mindst til udviklerne bag. En af dem er Rene Rydhof Hansen, adjunkt ved Institut for Datalogi på Aalborg Universitet, og til Version2 oplyser han, at det sikkert vil få flere til at benytte værktøjet.

Rene Rydhof Hansen til Version2 skrev:
Det ser vi som en klar blåstempling fra udviklerne af Linux-kernen, og det betyder nok, at flere udviklere vil begynde at bruge Coccinelle fremover.

Inkluderingen i udviklingstræet betyder ikke, at Coccinelle bliver en del af selve kernen, men at det bliver muligt at køre Coccinelle på et udviklersnapshot af kernen, da den nødvendige funktionalitet til dette er tilføjet de såkaldte Make-filer.

Coccinelle har gennem tiden stået bag mere end 600 fejlrettelser til Linux-kernen.





Gå til bund
Gravatar #1 - mathiass
1. jul. 2010 12:54
Nu har jeg et par gange hørt Julia Lawall tale om Coccinelle og som jeg forstår det er det ikke helt korrekt at kaldet det et værktøj til fejlsøgning.
Der er nærmere tale om en generalisering af 'patch' begrebebet fra at være noget der handler om at lavet søg/erstat i tekstfiler og til at være noget der opererer semantisk på abstrakt syntaks.
Når man opdager en fejlagtig måde at håndtere noget på, så kan man således lave en patch som beskriver hvordan koden ændres til noget der behandler det på, og så kan man rette fejlen alle de steder hvor den findes.
Gravatar #2 - TormDK
1. jul. 2010 13:53
Jeg er die hard Windows mand, men det der er sku flot. Godt gået :)

Gravatar #3 - HerrMansen
1. jul. 2010 14:57
#1 : Lyder lidt ala de patch systemer visse spil har/haft, hvor patchen kun bestod af ændringerne i de filer der skulle patches, og ikke bare overskrev hver fil med nyt indhold. Spændende. :)
Gravatar #4 - Useful
1. jul. 2010 15:02
HerrMansen (3) skrev:
#1 : Lyder lidt ala de patch systemer visse spil har/haft, hvor patchen kun bestod af ændringerne i de filer der skulle patches, og ikke bare overskrev hver fil med nyt indhold. Spændende. :)


Forstil dig størrelsen på patches til World of Warcraft hvis hele filer skulle overskrives.

4-5Gb patches for ikke at tænke på Content patches :p
Gravatar #5 - thuejk
1. jul. 2010 20:24
HerrMansen (3) skrev:
#1 : Lyder lidt ala de patch systemer visse spil har/haft, hvor patchen kun bestod af ændringerne i de filer der skulle patches, og ikke bare overskrev hver fil med nyt indhold. Spændende. :)


Ikke rigtigt. Det du beskriver er en simpel binary patch. Coccinelle er betydelig mere kompliceret.
Gravatar #6 - HerrMansen
1. jul. 2010 22:52
#4 : Ligesom i de fleste tidlige betaspil builds? Ja uha...

#5 : Det kan du bilde mig ind. :)
Gravatar #7 - Znake
1. jul. 2010 23:02
Hmm, jeg vidste godt nok at Rene er inkarneret Linux fan boy, fra det kursus han har undervist i det forgangne semester, men vidste faktisk ikke at han gik og rodede med noget så avanceret i den retning.

Sjovt han aldrig har nævnt det, så ofte som han ellers promoverer Linux, det er på grænsen til indoktrinering :P
Gravatar #8 - arne_v
1. jul. 2010 23:55
#2 & 7

Er toolet ikke et generalt C tool som kan anvendes lige så godt på *nix og Windows?

Og at det er "tilfældigt" at Linux kernel teamet har valgt at bruge det fremfor at MS har ringet til ham og betalt ham XX millioner fro toolet?
Gravatar #9 - XorpiZ
2. jul. 2010 06:07
arne_v (8) skrev:
#2 & 7

Er toolet ikke et generalt C tool som kan anvendes lige så godt på *nix og Windows?

Og at det er "tilfældigt" at Linux kernel teamet har valgt at bruge det fremfor at MS har ringet til ham og betalt ham XX millioner fro toolet?


Uden at vide det, så vil jeg tro, at MS har noget lignende in-house :)
Gravatar #10 - Windcape
2. jul. 2010 06:39
Coccinelle is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. Coccinelle was initially targeted towards performing collateral evolutions in Linux. Such evolutions comprise the changes that are needed in client code in response to evolutions in library APIs, and may include modifications such as renaming a function, adding a function argument whose value is somehow context-dependent, and reorganizing a data structure. Beyond collateral evolutions, Coccinelle is successfully used (by us and others) for finding and fixing bugs in systems code.
Gravatar #11 - Windcape
2. jul. 2010 06:41
XorpiZ (9) skrev:
Uden at vide det, så vil jeg tro, at MS har noget lignende in-house :)
Og IBM har sikkert noget lign. til OS/400.

Der er vist helt normalt at have værktøjer til patching og fejlretning af kernel code.
Gravatar #12 - arne_v
4. jul. 2010 01:40
XorpiZ (9) skrev:
Uden at vide det, så vil jeg tro, at MS har noget lignende in-house


Sikkert.

Linux kernel kunne sikkert også finde et andet.

Men ingen af delene udelukker jo at dette produkt er bedre.

Nu har jeg ikek den fjerneste anelse om hvad MS bruger til den slags.

Min pointe var kun at så vidt jeg kan se er det et tool til C kode. Om det er Linux kernel eller Windows kernel eller Oracle DB kerne eller mit hello world program bør egentligt ikke betyde noget.

Værdien af toolet er dog nok størst ved større kode mængder, så min hello world app er nok trods alt ikke så god.

Men ...
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login