IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Apple règle le bug Telugu, Réactions à la publication du 20/02/2018
Options
Lionel
posté 20 Feb 2018, 07:10
Message #1


BIDOUILLE Guru
*****

Groupe : Admin
Messages : 54 191
Inscrit : 14 Jan 2001
Lieu : Paris
Membre no 3



En fin de semaine dernière on apprenait que des caractères Telugu pouvaient faire planter nombre d'applications sur la plupart des systèmes d'exploitation d'Apple.

Pendant le week-end, des attaques malveillantes avaient commencé à se produire, en particulier via Twitter, cherchant à faire planter les produits Apple.
La société vient de réagir en proposant au public iOS 11.2.6, watchOS 4.2.3, tvOS 11.2.6, et macOS High Sierra 10.13.3 (supplémentaire) qui corrigent ce problème.


Lien vers le billet original



--------------------
C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
Go to the top of the page
 
+Quote Post
gigatoaster
posté 20 Feb 2018, 07:23
Message #2


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 463
Inscrit : 16 Aug 2009
Lieu : Singapour
Membre no 140 683



Bonjour

Juste pour la culture personnelle, comment ces failles sont-elles trouvées? Pure hasard?

Et comment sont-elles comblées?


--------------------
🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
Go to the top of the page
 
+Quote Post
Lionel
posté 20 Feb 2018, 07:43
Message #3


BIDOUILLE Guru
*****

Groupe : Admin
Messages : 54 191
Inscrit : 14 Jan 2001
Lieu : Paris
Membre no 3



Citation (gigatoaster @ 20 Feb 2018, 07:23) *
Bonjour

Juste pour la culture personnelle, comment ces failles sont-elles trouvées? Pure hasard?

Et comment sont-elles comblées?

Oui, certainement le hasard. Pour les régler, tu fais du déboggage. Tu traces l'application et ce qui se passe quand elle est confrontée à ce problème pour isoler les lignes de code fautives. Ensuite, tu corriges le bug en empêchant qu'il se produise.


--------------------
C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
Go to the top of the page
 
+Quote Post
Kolosse
posté 20 Feb 2018, 08:24
Message #4


Adepte de Macbidouille
*

Groupe : Membres
Messages : 40
Inscrit : 30 Dec 2009
Lieu : Bordeaux
Membre no 147 833



Citation (Lionel @ 20 Feb 2018, 07:10) *
La société vient de réagir en proposant au public iOS 11.2.6, watchOS 4.2.3, tvOS 11.2.6, et macOS High Sierra 10.13.3 qui corrigent ce problème.


Lien vers le billet original

Bonjour,
Il me semble que macOS High Sierra 10.13.3 n'est pas le perdreau du jour…
En fait, vérification faite, il s'agit d'une "Mise à jour supplémentaire de macOS High Sierra 10.13.3 "

Ce message a été modifié par Kolosse - 20 Feb 2018, 08:26.


--------------------
Mon 1er Mac ? Un Macintosh 128k en 1984… et oui !
Go to the top of the page
 
+Quote Post
ericb2
posté 20 Feb 2018, 08:45
Message #5


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 835
Inscrit : 16 Nov 2003
Membre no 11 701



@gigatoaster

Pour parler d'OpenOffice que je connais, la plupart du temps, ce sont des problèmes remontés par les utilisateurs. En effet, plus le nombre d'utilisateurs est important, et plus il est probable que quelqu'un passe par le cas qui pose problème. Mais ce n'est pas la seule possibilité. Une autre façon de trouver des bugs, c'est par exemple en créant des fichiers "corrompus" avec une méthode donnée. Exemple : dans un fichier .odt, on ajoute du bruit dedans, de façon aléatoire. Ensuite, on essaye de l'ouvrir et de l'utiliser. C'est ce que faisant thb pour les fichiers Impress. ça a plutôt bien fonctionné, car il a trouvé quelques problèmes sérieux de cette façon (et dont la résolution ne fût pas si simple).

@Lionel : au sujet de "corriger le bug avant qu'il ne se reproduise", je me permets d'ajouter que la plus grosse difficulté de celui qui essaye de corriger est d'arriver à faire la différence entre le quoi (le "what") et le pourquoi (le "why" ). Corriger le what revient à mettre un pansement sur une jambe de bois, et on n'a rien corrigé. Et on n'est jamais sûr d'avoir vraiment corrigé le why. Souvent parce que le plus difficile est de comprendre le mécanisme du bug, de le reproduire avec certitude, et d'en donner une solution qui n'amène pas d'autres problèmes.

Pour citer un cas d'école (c'est rarement aussi simple, mais l'exemple qui suit est symbolique): si dans mon code, je trouve un pointeur NULL (une adresse non définie)**, que fais-je la plupart du temps ?

1. si l'adresse n'est pas définie, je n'exécute pas un bloc donné ?

2. j'essaye de savoir pourquoi cette valeur n'est pas définie (et je corrige, bien sûr) ?

**En C, dans un programme quand on a une adresse égale à 0, c'est qu'on a oublié de la définir. C'est comme si on envoyait du courrier à quelqu'un mais sans mettre l'adresse sur l'enveloppe, alors que le contenu est bien dans l'enveloppe. Lors de la création du binaire, le compilateur est sympa, il nous prévient avec un avertissement ("warning") qu'une adresse n'est pas définie et lui attribue la valeur zéro. En fonctionnement, quand on essaye d'écrire à l'adresse 0 (notée 0x0) on n'a pas le droit, et ça donne un "crash" : le programme s'arrête. Celui qui débugue, teste toujours si quelque chose vaut 0 ou pas (c'est la base).

Edit : typos


--
qɔᴉɹə
L'association EducOOo : http://www.educoo.org
https://github.com/ebachard

Ce message a été modifié par ericb2 - 20 Feb 2018, 08:50.
Go to the top of the page
 
+Quote Post
linus
posté 20 Feb 2018, 09:26
Message #6


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 368
Inscrit : 24 Jun 2004
Lieu : Grenoble
Membre no 20 409



N'est ce pas un peu moyen que de corriger seulement la dernière version de l'OS ?
La sécurité s'apprécie sur l'ensemble de la plateforme, pas juste les tous derniers produits.
Go to the top of the page
 
+Quote Post
Lionel
posté 20 Feb 2018, 09:31
Message #7


BIDOUILLE Guru
*****

Groupe : Admin
Messages : 54 191
Inscrit : 14 Jan 2001
Lieu : Paris
Membre no 3



Citation (linus @ 20 Feb 2018, 09:26) *
N'est ce pas un peu moyen que de corriger seulement la dernière version de l'OS ?
La sécurité s'apprécie sur l'ensemble de la plateforme, pas juste les tous derniers produits.

Tu le sais, Apple avance à marche forcée dans le développement logiciel. Ils n'ont pas les moyens humains de "perdre du temps".
macOS, iOS, watchOS, tvOS, et maintenant le HomePod, et le tout en synchronisé et avec des dates de sorties planifiées.
Pas pour rien qu'ils veulent ralentir dans les nouveautés, cela devient trop dur et il est très compliqué d'élargir la base de la pyramide de ceux qui développent sans tout élargir avec de nouveaux échelons qui ralentissent l'arrivée à la pointe.


--------------------
C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
Go to the top of the page
 
+Quote Post
labon
posté 20 Feb 2018, 09:36
Message #8


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 694
Inscrit : 16 Sep 2002
Lieu : Paris
Membre no 3 528



Oui, quid des 3 ou 4 précédentes versions système ?
Bug present/absent ?
À corriger ?


--------------------
Go to the top of the page
 
+Quote Post
zero
posté 20 Feb 2018, 11:02
Message #9


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 11 979
Inscrit : 25 Nov 2001
Membre no 1 397



quid de la versions précédente et celle d'avant système ?
Bug present/absent ?
À corriger ?

Go to the top of the page
 
+Quote Post
linus
posté 20 Feb 2018, 13:45
Message #10


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 368
Inscrit : 24 Jun 2004
Lieu : Grenoble
Membre no 20 409



Citation (Lionel @ 20 Feb 2018, 09:31) *
Citation (linus @ 20 Feb 2018, 09:26) *
N'est ce pas un peu moyen que de corriger seulement la dernière version de l'OS ?
La sécurité s'apprécie sur l'ensemble de la plateforme, pas juste les tous derniers produits.

Tu le sais, Apple avance à marche forcée dans le développement logiciel. Ils n'ont pas les moyens humains de "perdre du temps".
macOS, iOS, watchOS, tvOS, et maintenant le HomePod, et le tout en synchronisé et avec des dates de sorties planifiées.
Pas pour rien qu'ils veulent ralentir dans les nouveautés, cela devient trop dur et il est très compliqué d'élargir la base de la pyramide de ceux qui développent sans tout élargir avec de nouveaux échelons qui ralentissent l'arrivée à la pointe.

Je comprends parfaitement cela mais il n'en demeure pas moins qu'il y a une base installée macOSet que la dernière version de High Sierra n'en représente qu'une partie <http://gs.statcounter.com/macos-version-ma...sktop/worldwide>.
MacBidouille s'est suffisamment fait l'écho du fait que les pirates passent pas les vieux Windows XP ou autres non sécurités pour que le même reproche ne soit fait à Apple.
Il me semble qu'il sera de plus en plus intenable pour Apple de présenter macOS comme plus sûr que la concurence si la moitié ou plus de la base installée est gravement vulnérable.
Go to the top of the page
 
+Quote Post
_Panta
posté 20 Feb 2018, 13:49
Message #11


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 7 721
Inscrit : 24 Dec 2006
Lieu : "Over The Rainbow"
Membre no 76 401



Citation (Lionel @ 20 Feb 2018, 09:31) *
élargir la base de la pyramide de ceux qui développent sans tout élargir avec de nouveaux échelons qui ralentissent l'arrivée à la pointe.

Même d'en parler clairement ça devient trop dur smile.gif


--------------------
- Macbook Pro TouchBar 15" T1 - 512GB/core [email protected],7Ghz
- Macbook Air 13,3" core i5 - iMac 27" core i5 - [email protected]
- Airport Extrême
- Fbx Delta Devialet
Go to the top of the page
 
+Quote Post
reversi
posté 20 Feb 2018, 17:27
Message #12


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 921
Inscrit : 2 Jun 2002
Lieu : France
Membre no 2 604



Citation (ericb2 @ 20 Feb 2018, 08:45) *
**En C, dans un programme quand on a une adresse égale à 0, c'est qu'on a oublié de la définir. C'est comme si on envoyait du courrier à quelqu'un mais sans mettre l'adresse sur l'enveloppe, alors que le contenu est bien dans l'enveloppe. Lors de la création du binaire, le compilateur est sympa, il nous prévient avec un avertissement ("warning") qu'une adresse n'est pas définie et lui attribue la valeur zéro. En fonctionnement, quand on essaye d'écrire à l'adresse 0 (notée 0x0) on n'a pas le droit, et ça donne un "crash" : le programme s'arrête. Celui qui débugue, teste toujours si quelque chose vaut 0 ou pas (c'est la base).


Dans quel univers alternatif une adresse égale à 0 signifie qu'on a oublié de la définir ?

Quand une valeur (pas besoin que cela soit une adresse) n'a pas été définie, elle prend la valeur qu'il y a à son emplacement mémoire et si cette valeur est 0, c'est juste un coup de bol (ou alors qu'on builde en debug)

Si on oublie de définir une valeur, le compilateur s'en tape même avec des options agressives.

C'est le static analyzer qui permettra de débusquer des problèmes de ce genre :

e.g.

char * toto;

printf("%s",toto);

Y a que la commande Xcode > Product > Analyze qui signale un problème. Et un Run en Release affiche n'importe quoi.

Ce message a été modifié par reversi - 20 Feb 2018, 17:27.
Go to the top of the page
 
+Quote Post
iAPX
posté 20 Feb 2018, 17:58
Message #13


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 12 268
Inscrit : 4 Jan 2006
Lieu : Montréal
Membre no 52 877



+1


--------------------
Je suis pangolin!
Go to the top of the page
 
+Quote Post
ericb2
posté 20 Feb 2018, 18:38
Message #14


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 835
Inscrit : 16 Nov 2003
Membre no 11 701



@reversi

Je ne sais pas si ça répond à ta question, mais voici l'exemple que j'ai en tête :

CODE
/* buggy.c */
#include <stdio.h>
#include <stdlib.h>

static char buf[256];
void lit_entree (char *);

int
main (void)
{
char * entree;// = NULL;
// décommenter pour ne pas avoir le crash
//entree = buf;

lit_entree (entree);
fprintf (stdout, "Vous avez tape : %s\n", entree);
return EXIT_SUCCESS;
}

void lit_entree (char *s)
{
short int anErr = (fgets(s, sizeof(buf), stdin) == NULL);

if ( anErr != 0 )
fprintf(stdout, "Problème avec la valeur saisie \n");
}


Que j'ai compilé avec :
gcc -Iinc -Wall -O3 -ansi -pedantic -std=c99 -g -DDEBUG -o build/buggy_debug buggy.c
buggy.c: In function ‘main’:
buggy.c:22:3: warning: ‘entree’ is used uninitialized in this function [-Wuninitialized]
lit_entree (entree);

Et à l'éxecution :
Reading symbols from buggy_debug...done.
(gdb) b 1
Breakpoint 1 at 0x400510: file buggy.c, line 1.
(gdb) r
Starting program: /home/eric/Devel/buggy/build/buggy_debug
warning: the debug information found in "/lib64/ld-2.23.so" does not match "/lib64/ld-linux-x86-64.so.2" (CRC mismatch).


Breakpoint 1, main () at buggy.c:10
10 {
(gdb) n
22 lit_entree (entree);
(gdb) p entree
$1 = 0x0
(gdb) p *entree
Cannot access memory at address 0x0
(gdb) n
azer

Program received signal SIGSEGV, Segmentation fault.
__GI__IO_getline_info ([email protected]=0x7ffff7dd18e0 <_IO_2_1_stdin_>, [email protected]=0x0, n=254, [email protected]=255,
[email protected]=10, [email protected]=1, [email protected]=0x0) at iogetline.c:77
77 iogetline.c: Aucun fichier ou dossier de ce type.


Mais tu as raison, j'ai utilisé une version debug.

Edit : j'ai mis la bonne ligne de commande (mon makefile compile automatiquement les 2 versions : sans / avec symboles) + recopié exactement ce que j'ai avec gdb64

Ce message a été modifié par ericb2 - 20 Feb 2018, 18:45.
Go to the top of the page
 
+Quote Post
Hebus
posté 20 Feb 2018, 18:43
Message #15


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 489
Inscrit : 24 Sep 2015
Lieu : Pays d'Aix
Membre no 196 570



Writing Solid Code

C’est un lien sur le PDF


--------------------
Bobo du Pays d'Aix et Fanboy Apple
Go to the top of the page
 
+Quote Post
ericb2
posté 20 Feb 2018, 18:54
Message #16


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 835
Inscrit : 16 Nov 2003
Membre no 11 701



@Hebus : il a été écrit avec MS Office ce pdf ? tongue.gif

Edit : ça fait presque 300 pages, mais c'est intéressant.

J'avais beaucoup aimé celui-là (format slideshare ou pdf au choix) : https://olvemaudal.com/2011/10/10/deep-c/

Ce message a été modifié par ericb2 - 20 Feb 2018, 19:00.
Go to the top of the page
 
+Quote Post
neo
posté 20 Feb 2018, 18:59
Message #17


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 437
Inscrit : 22 Jul 2001
Membre no 531



Personne n’a de problème avec cette MaJ?

Mon MacPro (5.1 avec une Saphire RX460) ne sort plus de veille depuis. Le ventilo de la carte graphique tourne au ralenti, les ports USB semblent désactivés (la diode sur le clavier USB ne s’allume plus et rien ne se passe quand je branche une souris filière pendant la veille ). La diode en dessus du bouton d’allumage clignote normalement (pour de la veille).

J’ai vidé la PRAM, reseté le SMC. Ça marche pas. J’ai également essayé la combine qui réglait le problème de veille avec les Radeon RX 470/480 et 570/580 mais ça ne semble pas efficace pour les 460...

Ce message a été modifié par neo - 20 Feb 2018, 19:00.


--------------------
MacPro 5.1 de 2012: 6x 3.46Ghz (CPU upgrade) | 20 Go | RX580 Pulse 8Go | 2x SSD sur carte PCI Sonnet Tempo | USB 3 sur carte PCI
MacBook Pro mid-2010 15 pouces | i7 2.66 Ghz | 8Go | "downgradé" avec un patch logiciel pour éviter le switch sur le GPU nVidia buggé, qu'Apple refuse de réparer
Go to the top of the page
 
+Quote Post
roseau
posté 20 Feb 2018, 19:12
Message #18


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 5 552
Inscrit : 11 Feb 2003
Lieu : Bagneux
Membre no 6 110



Citation (zero @ 20 Feb 2018, 11:02) *
quid de la versions précédente et celle d'avant système ?
Bug present/absent ?
À corriger ?

ben le principe des versions qui montent c'est justement d'oublier la précédente version, donc tu tournes sur une version antérieure c'est ton problème tu as faux, et tu assumes!!! rolleyes.gif

De plus les bugs rencontrés sont souvent des bugs liés aux nouvelles fonctionnalités ou des régressions par rapport à la version précédente mais dans les deux cas l'ancienne version n'est pas touchée wink.gif

Ce message a été modifié par roseau - 20 Feb 2018, 19:14.


--------------------
Imac 2017 core I7 , 2*MBP2015 core I7, Macmini late 2014 core I5 16 go 10.11/maverick MBp , Mbp 15" late 2014 core i7 16 go 10.11; Macmini 2011 core i5 ( 10.9), , , Xserve/2008/ 1 2,8ghz quad-core xeon/osx server 10.9.4/mem 18 go/carte raid 3*1to raid 5,Antiquité fonctionelle :Imac debut 2010 10.5.8MBPRO 13" fin 2010 10.9, macbookpro 17" juin 2007 10.5.8, Macmini core 2 duo 1,8 /1024mo/10.5.8, Macmini 1,42/1024mo/10.4.11,G4 mono 1.25 (MDD 2003) /1500mo/10.4.11 server , 4400 200 upgrade g3/400,4400 240 , , 7100 80/,
antiquite 6320 lc 630, powerbook 180c,powerbook duo 210, Mac classic (panne vidéo) Mac SE...,os 10.4* , 10.3.9, os9.1/os8.1, os7.6,
NAS CS407 Synology 4*500go (raid 5),
Go to the top of the page
 
+Quote Post
é1000
posté 20 Feb 2018, 22:05
Message #19


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 601
Inscrit : 26 Oct 2005
Membre no 48 744



Au fait, mais comment un caractère fait planter un OS? C'est quoi le problème en fait?


--------------------
iMac 27" 2011 Core i5 3.1GHz 8GB/SSD 1T/High Sierra - MacBook Pro 15" TouchBar Core i7 16GB - 512GB SSD / Mojave- iMac 21"5 2011 Core i5 8GB/SSD 500G/High Sierra X 2 - Mac Mini 4GB/SSD 500G/High Sierra - iMac G4 (boule) 1GHz 768MB/Tiger

"Be smarter than stupid people"
(www.imparato.be) - https://ilovemymac.bachibouzouks.com - Mon blog photo: www.imparato.be/blog
Go to the top of the page
 
+Quote Post
iAPX
posté 20 Feb 2018, 22:22
Message #20


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 12 268
Inscrit : 4 Jan 2006
Lieu : Montréal
Membre no 52 877



Citation (é1000 @ 20 Feb 2018, 16:05) *
Au fait, mais comment un caractère fait planter un OS? C'est quoi le problème en fait?

Très bonne question dont j'aimerais bien connaître la réponse, si tant est que ça ne soit pas une backdoor intentionnellement créée...


--------------------
Je suis pangolin!
Go to the top of the page
 
+Quote Post
ungars
posté 26 Feb 2018, 22:37
Message #21


Adepte de Macbidouille
*

Groupe : Membres
Messages : 234
Inscrit : 23 Aug 2003
Membre no 9 180



Citation (ericb2 @ 20 Feb 2018, 09:45) *
@gigatoaster

Pour parler d'OpenOffice que je connais, la plupart du temps, ce sont des problèmes remontés par les utilisateurs. En effet, plus le nombre d'utilisateurs est important, et plus il est probable que quelqu'un passe par le cas qui pose problème. Mais ce n'est pas la seule possibilité. Une autre façon de trouver des bugs, c'est par exemple en créant des fichiers "corrompus" avec une méthode donnée. Exemple : dans un fichier .odt, on ajoute du bruit dedans, de façon aléatoire. Ensuite, on essaye de l'ouvrir et de l'utiliser. C'est ce que faisant thb pour les fichiers Impress. ça a plutôt bien fonctionné, car il a trouvé quelques problèmes sérieux de cette façon (et dont la résolution ne fût pas si simple).

@Lionel : au sujet de "corriger le bug avant qu'il ne se reproduise", je me permets d'ajouter que la plus grosse difficulté de celui qui essaye de corriger est d'arriver à faire la différence entre le quoi (le "what") et le pourquoi (le "why" ). Corriger le what revient à mettre un pansement sur une jambe de bois, et on n'a rien corrigé. Et on n'est jamais sûr d'avoir vraiment corrigé le why. Souvent parce que le plus difficile est de comprendre le mécanisme du bug, de le reproduire avec certitude, et d'en donner une solution qui n'amène pas d'autres problèmes.

Pour citer un cas d'école (c'est rarement aussi simple, mais l'exemple qui suit est symbolique): si dans mon code, je trouve un pointeur NULL (une adresse non définie)**, que fais-je la plupart du temps ?

1. si l'adresse n'est pas définie, je n'exécute pas un bloc donné ?

2. j'essaye de savoir pourquoi cette valeur n'est pas définie (et je corrige, bien sûr) ?

**En C, dans un programme quand on a une adresse égale à 0, c'est qu'on a oublié de la définir. C'est comme si on envoyait du courrier à quelqu'un mais sans mettre l'adresse sur l'enveloppe, alors que le contenu est bien dans l'enveloppe. Lors de la création du binaire, le compilateur est sympa, il nous prévient avec un avertissement ("warning") qu'une adresse n'est pas définie et lui attribue la valeur zéro. En fonctionnement, quand on essaye d'écrire à l'adresse 0 (notée 0x0) on n'a pas le droit, et ça donne un "crash" : le programme s'arrête. Celui qui débugue, teste toujours si quelque chose vaut 0 ou pas (c'est la base).

Edit : typos


--
qɔᴉɹə
L'association EducOOo : http://www.educoo.org
https://github.com/ebachard

Mais alors la faille est dans le compilateur C, qui devrait terminer en erreur.
Go to the top of the page
 
+Quote Post
roseau
posté 27 Feb 2018, 08:37
Message #22


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 5 552
Inscrit : 11 Feb 2003
Lieu : Bagneux
Membre no 6 110



Citation (ungars @ 26 Feb 2018, 22:37) *
Citation (ericb2 @ 20 Feb 2018, 09:45) *
@gigatoaster

Pour parler d'OpenOffice que je connais, la plupart du temps, ce sont des problèmes remontés par les utilisateurs. En effet, plus le nombre d'utilisateurs est important, et plus il est probable que quelqu'un passe par le cas qui pose problème. Mais ce n'est pas la seule possibilité. Une autre façon de trouver des bugs, c'est par exemple en créant des fichiers "corrompus" avec une méthode donnée. Exemple : dans un fichier .odt, on ajoute du bruit dedans, de façon aléatoire. Ensuite, on essaye de l'ouvrir et de l'utiliser. C'est ce que faisant thb pour les fichiers Impress. ça a plutôt bien fonctionné, car il a trouvé quelques problèmes sérieux de cette façon (et dont la résolution ne fût pas si simple).

@Lionel : au sujet de "corriger le bug avant qu'il ne se reproduise", je me permets d'ajouter que la plus grosse difficulté de celui qui essaye de corriger est d'arriver à faire la différence entre le quoi (le "what") et le pourquoi (le "why" ). Corriger le what revient à mettre un pansement sur une jambe de bois, et on n'a rien corrigé. Et on n'est jamais sûr d'avoir vraiment corrigé le why. Souvent parce que le plus difficile est de comprendre le mécanisme du bug, de le reproduire avec certitude, et d'en donner une solution qui n'amène pas d'autres problèmes.

Pour citer un cas d'école (c'est rarement aussi simple, mais l'exemple qui suit est symbolique): si dans mon code, je trouve un pointeur NULL (une adresse non définie)**, que fais-je la plupart du temps ?

1. si l'adresse n'est pas définie, je n'exécute pas un bloc donné ?

2. j'essaye de savoir pourquoi cette valeur n'est pas définie (et je corrige, bien sûr) ?

**En C, dans un programme quand on a une adresse égale à 0, c'est qu'on a oublié de la définir. C'est comme si on envoyait du courrier à quelqu'un mais sans mettre l'adresse sur l'enveloppe, alors que le contenu est bien dans l'enveloppe. Lors de la création du binaire, le compilateur est sympa, il nous prévient avec un avertissement ("warning") qu'une adresse n'est pas définie et lui attribue la valeur zéro. En fonctionnement, quand on essaye d'écrire à l'adresse 0 (notée 0x0) on n'a pas le droit, et ça donne un "crash" : le programme s'arrête. Celui qui débugue, teste toujours si quelque chose vaut 0 ou pas (c'est la base).

Edit : typos


--
qɔᴉɹə
L'association EducOOo : http://www.educoo.org
https://github.com/ebachard

Mais alors la faille est dans le compilateur C, qui devrait terminer en erreur.

un compilateur ça compile , il contrôle la syntaxe par rapport à une grammaire, il ne detectera jamais une erreur de logique


--------------------
Imac 2017 core I7 , 2*MBP2015 core I7, Macmini late 2014 core I5 16 go 10.11/maverick MBp , Mbp 15" late 2014 core i7 16 go 10.11; Macmini 2011 core i5 ( 10.9), , , Xserve/2008/ 1 2,8ghz quad-core xeon/osx server 10.9.4/mem 18 go/carte raid 3*1to raid 5,Antiquité fonctionelle :Imac debut 2010 10.5.8MBPRO 13" fin 2010 10.9, macbookpro 17" juin 2007 10.5.8, Macmini core 2 duo 1,8 /1024mo/10.5.8, Macmini 1,42/1024mo/10.4.11,G4 mono 1.25 (MDD 2003) /1500mo/10.4.11 server , 4400 200 upgrade g3/400,4400 240 , , 7100 80/,
antiquite 6320 lc 630, powerbook 180c,powerbook duo 210, Mac classic (panne vidéo) Mac SE...,os 10.4* , 10.3.9, os9.1/os8.1, os7.6,
NAS CS407 Synology 4*500go (raid 5),
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 24th October 2020 - 22:30