spacer spacer spacer spacer spacer spacer spacer spacer spacer
Communauté Chaos Bringers Index du Forum FAQ Liste des Membres Rechercher Groupes d'utilisateurs Profil Se connecter pour vérifier ses messages privés Connexion S'enregistrer
spacer

spacer
spacer logo de la guilde Chaos Bringers spacer
spacer

spacer
spacer spacer
spacer

Information Hommage aux informaticiens

Poster un nouveau sujet Répondre au sujet
Communauté Chaos Bringers Index du Forum » Agora   
Voir le sujet précédent :: Voir le sujet suivant
AuteurMessage
Hel
Staff Asgard


Inscrit le: 07 Déc 2006
Messages: 467

Sujet du message: Hommage aux informaticiens Répondre en citant

La Théorie des Bugs


I) Univers des buggés

On pose :

X : Un élément, constitué d'un ensemble d'instructions.

|X| : Taille de X. C'est la quantité d'instructions mise en jeu pour définir X.

[X] : Cardinalité de X. C'est sa bogosité. Elle donne une information sur la quantité de bugs contenus dans l'élément X.

Alors :

U : Univers des buggés.
Un élément X appartient à cet univers si et seulement si la quantité de bugs qui le contient est au minimum égale à 1.

Proposition: Tout logiciel appartient à U.

Démonstration : L'inégalité de Von Neumann prouve l'inexistance d'un espace débuggé pour tout programme non trivial. Or, par définition, un logiciel est non trivial ( soit [X] > 0 ). Sachant que tout programme non trivial appartient à U ( [X]>0 => X dans U ), tout logiciel appartient aussi à U.

Proposition : Tout programme trivial est exclu de U. L'ensemble des programmes triviaux est appelé Ù. (U barre).

Démonstration : Evidente.

II) Fonctions de transfert inter-univers

Le transfert d'un élément X d'un univers vers un autre consiste en la modification de cet élément pour que la règle d'appartenance soit vérifiée dans le nouvel univers.

On définit la fonction B comme suit :

B : X --------> Y
Ù --------> U

La fonction Y = B(X) est appelé fonction de Buggage. Elle "transforme" un programme trivial en logiciel (programme buggé) par le passage de l'univers débuggé Ù à l'univers des buggés U. La fonction B est n'est pas une fonction bijective.

La fonction réciproque D = B-1 peut se définir comme cela :
X --------> Y
U --------> Ù

D réalise le passage d'un logiciel buggé à l'univers débuggé, c'est la fonction de débuggage TOTAL. Cette fonction n'existe pas, du fait de l' inégalité de Von Neuman. (La fonction B n'est pas bijective).

III) Partitions de l'espace U

a) Définition

L'espace U peut se voir partitionné en sous ensembles Un. X appartient à Un si et seulement si : [X] = n.

L'union de tous les Un donne U.

b) U est ordonné.

Ainsi : U0 < U1 < U2 < U3 < .... < Up

(p tend vers l'infini)

c) Débuggage partiel

Le principe de débuggage partiel est l'opération qui fait passer X de Un à Up avec p < n.

III) Comportements asymptotiques de la bogosité

Théorème : La bogosité d'un élément X est bornée.

Démonstration : Passer de U à Ù nécessite de faire diminuer la bogosité à 0. Or ce transfert étant impossible, la limite inférieure de la bogosité est 1.

Il existe également une borne supérieure : h.
h est la bogosité maximale. C'est une fonction croissante de la taille de X.

|X| = cte => lim [X] = h
h(|X|) croissant.

IV) Principes de correction

a) Patch.

Un patch est aussi un élément de U. On appelle pouvoir correcteur CP du patch P, le rapport : CP = bc / [P] avec :
bc est le nombre de bugs qu'il corrige,
[P] la bogosité (intrinsèque) du patch.

Un CP > 1 indique un patch efficace. Il corrige plus de bugs qu'il n'en apporte.

{ CP > 1 } -> [Y] < [X] + [P] avec Y = X + P et bc <[X]

Un CP < 1 indique un patch inefficace.

{ CP < 1 } -> [Y] > [X] + [P]

Inégalités des ajouts patchés :

[P1] + [P2] > [P1+P2]
CP1 + CP2 < CP

Le pouvoir correcteur ajouté a une performance moindre qu'un patch global. Ceci montre bien que l'application d'une infinité de patch à un programme fait tendre la bogosité de celui vers 0 sans jamais l'atteindre.

Ainsi, l'application répété de patchs fait passer X de Un vers Up avec (p-n) tendant vers 0

b) Patch autocorrecteur

Est dit patch autocorrecteur, tout patch à CP infini.

Ceci implique une bogosité intrinsèque nulle. Le patch est en fait un patch pour le programme mais aussi pour lui-même. Il s'agit du modèle parfait du patch, qui n'a pas sa place en milieu industriel.

_________________
MessagePosté le:
Mar Mai 22, 2007 8:33 pm
Top of PageVoir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Kromack
Grand Maréchal
Grand Maréchal


Inscrit le: 19 Nov 2006
Messages: 2077
Localisation: Toulouse

Sujet du message: Répondre en citant

Premièrement quel est le lien entre le sujet du topic et ton deuxième post ?

Concernant le premier post, bon j'avoue que je n'ai pas tout suivi, c'est des matheuuu !!!c'est nuleuh !!! Laughing

Par contre je m'attendais à une conclusion mais il n'y en a pas ? Ce n'est pas une démonstration mais juste une théorie ?

Vu que c'est le sujet du topic je vais donner mon point de vue sur les bugs.

Je pense que pour la plupart des gens les bugs sont en quelque sorte des sortes de petits monstres incontrôlables qui naissent dans de petits oeufs pondu par de gros bugs entres les transistors dans carte électroniques des ordinateurs.

En réalité lorsqu'on sait coder, on sait également que les bugs n'existent pas, l'informatique est une science absoluement précise (sauf cas particuliers comme l'intelligence artificielle (et encore Confused )).
Les bugs sont en fait des comportement inattendus ou non prévu par le programmeur. Ce sont des bouts de codes qui ne font pas le travail qu'ils devraient faire, non pas parce-qu'ils n'ont pas envie ou pour le "fun" mais uniquement par la volonté du programmeur (ou plutôt par sa non-volonté :p).
Nous connaissons la totalité des couches composant l'informatique, et pour cause, c'est une création humaine :p
Du microscopique transistor jusqu'au langage de plus haut niveau existant, tout est le résultat d'une action volontaire humaine.

Il y a une phrase que j'affectionne :

"Il n'a pas de bugs, mais simplement de mauvais utilisateurs"

C'est réductionnisme mais ça résume un peu la philosophie de l'informatique. Lorsque l'on crée un logiciel, il faut prévoir la totalité des scénario d'utilisation possible pour éviter les comportements inattendus appelés vulgairement bugs (je considère évidemment qu'il n'y a que de bons programmeurs (ce qui est faux :p)).

C'est là qu'est la grande limite de l'informatique, et la fracture avec les Mathématiciens. Les mathématiques prônent une science exacte qui tente de schématiser tout les processus avec des formules, théorèmes, etc...
A l'inverse, les "hackers" (comprenez programmeurs ou codeurs et non pirates) s'apparentent plus à des peintres à la différence qu'ils utilisent du code et non de la peinture pour exprimer leur créativité.
Ceci n'étant pas le sujet de ce topic (d'ailleurs quel est le sujet de ce topic lol ?) je vous renvoie cet article (extrait d'un ouvrage) :

http://www.paulgraham.com/hp.html

Voilà Wink

Je retourne pointer ma lampe à sodium sur ma carte mère... Je crois que l'éclosion sera pour cette nuit !
_________________
:: Le Chaos Pour Seul Destin ::



http://www.reparer-facile.fr - http://scwow.free.fr
MessagePosté le:
Mar Mai 22, 2007 10:15 pm
Top of PageVoir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Hel
Staff Asgard


Inscrit le: 07 Déc 2006
Messages: 467

Sujet du message: Répondre en citant

En fait en voyant ca, ca m'as paru suffisament chiant et incompréhensible pour être du domaine de Kro et Mandrou :p de l'info quoi Twisted Evil
_________________
MessagePosté le:
Mer Mai 23, 2007 1:31 am
Top of PageVoir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Montrer les messages depuis:   
Toutes les heures sont au format GMT
Poster un nouveau sujet Répondre au sujet
Communauté Chaos Bringers Index du Forum » Agora  

Sauter vers:  
:: Légende des icones ::
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum

:: Toolbox ::

Visiter notre ville ! - Actualité World of Warcraft - Serveur WoW Spiral - Réparer soi-même - Game Art - Qui sommes-nous ?

Visitez nos partenaires

syndication RSS



Traduction par : phpBB-fr.com

Gagner de l'argent
Gagner de l'argent

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions bloquées: 194
Propulsé par phpBB © 2001, 2005 phpBB Group :: Thème Original par Daz :: Administration & Codage par Kromack :: phpBB SEO