ειδήσεις: ΕΛ/ΛΑΚ projects και προγραμματιστές που αξίζουν συγχαρητήρια

Giorgos Keramidas keramida at ceid.upatras.gr
Sun Feb 17 03:39:52 EET 2008


On 2008-02-17 03:03, Michael Iatrou <m.iatrou at freemail.gr> wrote:
>When the date was Sunday 17 February 2008, Nick Demou wrote:
>> κράτησα το παραπάνω δεδομένο από το ref. [2] και μετά από το ref. [1]
>> έφτιαξα αυτόν τον πίνακα:
>>
>> project          lines   defects  defects  defects  defects
>>                   of    detected  per1000   fixed   not yet
>>                  code              lines             fixed
>> ------------------------------------------------------------
>> Amanda          82,229         0    0.000       -        -
>> courier-maildir 82,229         0    0.000       -        -
>> OpenVPN         69,223         1    0,014       0        1
>> PostgreSQL     909,148              0.041      53       37
>> linux 2.6    3.640,000              0.127     452      461
>> apache         135,916              0.140       3       19
>> glibC          588,931        83    0.140      83        0
>> OpenSSL        221,194        49    0,221      24       25
>> Firefox    (~2,170,000)*     672    0.309     370      302
>> KDE          4,712,273     1,644    0.348   1,554       90
>> samba          450,000       236    0,524     228        8
>> Gnome          430,809       576    1,339     357      219
> 
> Ωραία και μπράβο τους! Απλά να έχουμε κατά νου ότι αυτή είναι μια διαδικασία 
> που πρέπει να γίνεται περιοδικά.

Σε πολλά projects αυτό γίνεται περιοδικά από την ίδια την Coverity.

Σε άλλα projects, έχει δώσει η ίδια η Coverity το software για static
source analysis.  Για παράδειγμα, στο FreeBSD kernel γίνεται περιοδικά
έλεγχος για security προβλήματα, και οι developers του FreeBSD έχουν
απευθείας πρόσβαση στο web interface ενός Coverity Prevent installation,
για να βλέπουν (1) ποιά *νέα* προβλήματα εμφανίστηκαν πρόσφατα, (2) ποιά
παλιά προβλήματα διορθώθηκαν πρόσφατα, και (3) το ιστορικό των reports.

Το Coverity Prevent βγάζει reports με τα πιο χρήσιμα αποτελέσματα που
έχω δει προσωπικά μέχρι σήμερα.  Έχει και false positives, αλλά μπορεί
να «εκπαιδευθεί» από τους προγραμματιστές για τις ιδιομορφίες του στυλ
που έχει μια εφαρμογή (ή ο πυρήνας ενός kernel).

Πέρα από το ενδιαφέρον των αποτελεσμάτων όμως, το service που προσφέρει
η Coverity στην κοινότητα του free software είναι πολύ σημαντικό, από
πολλές απόψεις:

  * Το ίδιο το Coverity Prevent είναι πολύ ακριβό πακέτο λογισμικού,
    οπότε είναι ιδιαίτερα δύσκολο για one-man-projects (όπως π.χ. το
    OpenPAM) να αγοραστεί μια full έκδοση.

    Με το πρόγραμμα scan.coverity.com που υποστηρίζει η ίδια η Coverity,
    αποκτούν πρόσβαση σε state of the art εργαλεία και κάποια free
    software / open source software projects, τα οποία δε θα είχαν τη
    δυνατότητα για κάτι τέτοιο.

  * Τα αποτελέσματα του scan.coverity.org είναι μια από τις καλύτερες
    ενδείξεις για την πάρα πολύ καλή ποιότητα του FS/OSS

    Η διαφήμιση που κάνει με αυτό τον τρόπο η Coverity στο free software
    και το open source software είναι έμμεση, αλλά είναι από τις πιο
    αποδοτικές που μπορώ να σκεφτώ.  Όταν πραγματικά κάποιος θέλει να
    ξέρει την ποιότητα του software που χρησιμοποιεί, κάτι σαν το:

        «Το Coverity Prevent δεν έχει βγάλει ούτε ένα λάθος για
	τον κώδικά μας, εδώ και 4 συνεχόμενα χρόνια.»

    είναι, πιστεύω, ΠΑΡΑ ΠΟΛΥ καλή διαφήμιση :)

> Είναι πάντως ενδιαφέρον ότι το Gnome έχει περίπου 4 φορές περισσότερα
> «προβλήματα» απ' ότι το KDE, ενώ έχει το 1/12 του code base.

Αυτό που μου έκανε εντύπωση αμέσως μόλις είδα τον πίνακα του Νίκου,
είναι ότι δεν ανέφερε καθόλου το OpenPAM, το οποίο έχει ΜΗΔΕΝ (0)
defects στον πίνακα του:

	http://scan.coverity.com/rung2.html

Το OpenPAM είναι project του Dag-Erling Sm/orgrav, από το FreeBSD team.
Ο Dag-Erling Sm/orgrav είναι από τους πιο καλούς προγραμματιστές που
έχει η ομάδα του FreeBSD, οπότε δεν είναι ΚΑΘΟΛΟΥ περίεργο που το PAM
implementation που έγραψε για το FreeBSD δεν έχει κανένα defect στα
reports του Coverity.  Ο ίδιος ο DES συντηρεί την PAM υλοποίηση του
βασικού συστήματος του FreeBSD, χρησιμοποιώντας τον κώδικα του OpenPAM,
ο οποίος είναι μέρος του source tree ως src/contrib/openpam:

	http://cvsweb.freebsd.org/src/contrib/openpam/

Το OpenPAM δεν έχει, βέβαια, εκατομμύρια γραμμές κώδικα, αλλά έχει (ως
τώρα τουλάχιστον) ενδιαφέρουσα θέση από όλα τα προγράμματα που έχω δει
στο scan.coverity.org -- μαζί με τα:

	* Amanda

	* Postfix




More information about the Linux-greek-users mailing list