A rede dos pacotes do Debian GNU/Linux

Correção de horário: A defesa será antecipada para as 13:00!!

A dissertação de mestrado “Análise da Estrutura da Rede de Pacotes do Sistema Operacional Debian GNU/Linux”, de Orahcio F. de Sousa está pronta. O trabalho foi realizado sob a orientação minha e do Márcio Argollo de Menezes. A defesa pública será realizada dia 14 de abril, às 13:00, no Instituto de Física da UFF.

O trabalho foi possível porque as informações do projeto Debian estão facilmente disponíveis na rede. O que fizemos foi pegar a lista de pacotes e dependências e montar uma rede (grafo direcionado). A partir desta rede, procuramos medir várias quantidades, tais como os pacotes mais fundamentais do projeto, pacotes em que um bug afetaria um número grande de pacotes que mede, de certa forma, a robustez do projeto, descobrimos comunidades de pacotes, e outros resultados interessantes (pelo menos para a gente). A figura acima é um deles: o gráfico maior é uma representação log-log do número de pacotes que são dependências de outros. O gráfico mostra que a situação mais provável é que o pacote seja um pacote final,isto é, não é dependência de ninguém. O mais interessante é que a figura é uma reta no gráfico log-log, o que significa que muitos pacotes são dependências de poucos, mas poucos pacotes são fundamentais e afetam muitos outros. Isto torna a rede robusta a bugs aleatórios mas frágil para ataques direcionados: em termos leigos, se alguém maliciosamente modificasse um pacote deb, provavelmente só afetaria o próprio pacote e uns poucos outros, mas se maliciosamente mudasse a libc6, praticamente tornaria o sistema instável. O gráfico menor não é uma lei de potência como o anterior, mas uma exponencial e representa quase que o inverso da anterior: quantas dependências um pacote tem. Sendo exponencial significa que existe um número típico (20) para o número de dependências. A parte de comunidades também é interessante, podendo inclusive sugerir os pacotes que deveriam ser tratados por um time de desenvolvedores. Na nossa análise, conseguimos encontrar um número muito pequeno de empacotamento cíclico (A depende de B que depende de C mas C depende de A), isto é, pacotes que não são instaláveis a não ser em conjunto com outros (e este número diminui a cada release).

Este não é o primeiro trabalho sobre o Debian, nem o primeiro de físicos. Em Empirical Tests of Zipf's law Mechanism In Open Source Linux Distribution, Mairlatt e outros usaram a evolução da rede de pacotes Debian para testar um modelo de crescimento que dá origem à lei de Zipf. Um caso famoso da lei de Zipf é a frequência das palavras em qualquer linguagem: é um curva exatamente como as das dependências que mostrei acima, uma lei de potência ou cauda longa. Outro caso é a distribuição de tamanhos de firmas, que também segue a lei de Zipf. Em Do scale-free regulatory networks allow more expression than random ones?, Fortuna e Melian usaram da rede de pacotes para simular uma rede reguladora de genes e mostrou que esta estrutura é mais eficiente que uma rede aleatória.

Para quem quiser ler, a dissertação do Orahcio está disponível aqui. Uma versão preliminar e mais enxuta vai sair no Journal of Computational Interdisciplinary Sciences e o draft está disponível aqui. Quando escrevemos o artigo, o Lenny ainda era a “testing”. Tivemos que rodar novamente os programas para a Lenny como estável. Estou disponibilizando as referências aqui pois não dava para fazer um trabalho sobre Debian e não deixar público!

Discussão

J. F. MitreJ. F. Mitre, 04/Apr/2009 21:40

Eu sempre me impressiono com os assuntos multidisciplinares, mas esse tópico ultrapassou em muito a minha limitada capacidade imaginação…

É curioso ver essa teoria sendo aplicada a esse caso…

Ah ! Você não devia ter esperado a defesa para tornar o documento público ?

Deseje uma boa apresentação ao Orahcio…

tjpptjpp, 04/Apr/2009 22:03

Olá Mitre

pode deixar que vou falar da torcida! A dissertação é uma versão preliminar. Certamente vai ser alterada após as intervenções do pessoal da banca. Minha ideia é que talvez discussões e dúvidas apareçam por aqui até a defesa, podendo torná-la mais rica e interessante.

[]s

Felipe Augusto van de WielFelipe Augusto van de Wiel, 05/Apr/2009 19:35

Muito legal Thadeu! :-)

JefersonJeferson, 05/Apr/2009 22:25

Mandem suas perguntas! Eu sou um dos membros da banca e prometo levar as mais difíceis! :-)

Thiago Branco MeurerThiago Branco Meurer, 07/Apr/2009 09:13

“O trabalho foi possível porque as informações do projeto Debian estão facilmente disponíveis na rede”

Lembre-se isso é apenas um detalhe, o Debian tem um legado a ser mantido, de um projeto altamente complexo e de uma comunidade fanática e muito mais muito dedicada em as vezes teimar e fazer coisas em Prol do movimento Open Source sem se preocupar com o que os outros vão achar “Como compilar o Firefox com outro nome e por ai vai…”

Então espero que a Dissertação siga a mesma linha fanática dentro da física haha

Orahcio Felício de SousaOrahcio Felício de Sousa, 07/Apr/2009 11:58

Obrigado Mitre,

De fato é meio perigoso mesmo - vide post do Jeferson :), mas temos que concordar com o Thadeu quando fala que um trabalho sobre o Debian deve ser público como ele.

[]s

Luciano RamalhoLuciano Ramalho, 04/Aug/2010 10:23

Trabalho excelente e altamente relevante, parabéns.

Achei um erro ortográfico: a palavra “simulated” está errada (com dois eles) na expressão “simullated annealing”.

Enter your comment
DSPEV
 

Linkbacks

Use the following URL for manually sending trackbacks: http://profs.if.uff.br/tjpp/lib/plugins/linkback/exe/trackback.php/blog:entradas:a-rede-dos-pacotes-do-debian-gnu:linux
[...] A rede dos pacotes do Debian GNU/Linux [Blog do Thadeu Penna] [...]
 
blog/entradas/a-rede-dos-pacotes-do-debian-gnu/linux.txt · Última modificação: 27/Mar/2010 23:52 (edição externa)
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0