Slashdot Mirror


The Evolution of Software

An anonymous reader writes "Russian physicists Gorshenev and Pis'mak have posted a preprint claiming evidence that software projects naturally attain a state of self-organized criticality, in a process analogous to the contested theory of punctuated equilibrium in biological evolution (see also this paper by Bak and Boettcher). The software projects studied are FreeBSD, Mozilla, and GNU Emacs, by analyzing data from their CVS checkins."

15 comments

  1. Huh? by vudu · · Score: 2, Funny

    The what of the huh did what?

    Huh?

    To reiterate...
    WTF?

    1. Re:Huh? by jo42 · · Score: 1


      Must be a Windows user...

    2. Re:Huh? by jpsst34 · · Score: 1

      I'm sitting here at my desk at work. When I read your post I starting laughing and quicly raised my hand to cover my mouth. Now I have a bloody nose. Thanks a lot, wanker!

      --
      How are you going to keep them down on the farm once they've seen Karl Hungus?
  2. So.... by Randolpho · · Score: 1

    "software projects naturally attain a state of self-organized criticality," eh?

    Clearly they've never looked at the code I have to maintain!

    --
    "Times have not become more violent. They have just become more televised."
    -Marilyn Manson
  3. Not a large stretch of the imagination by runswithd6s · · Score: 2, Insightful

    I'm not surprised someone is using punctuated equilibrium to explain some of the development patterns in Free Software. Short periods of intense development followed by long periods of inactivity. Sounds like a pattern of a volunteer developer to me, giving his or her free time to a project. Since free time rarely occurs as contiguous segments, the parallelism to punctuated equilibrium is easy to see. I just hope this paper doesn't earn these two yokels anything but a quick pat on the back for pointing out the obvious.

    --
    assert(expired(knowledge)); /* core dump */
    1. Re:Not a large stretch of the imagination by Arandir · · Score: 3, Funny

      Here's the real story:

      I've spent every minute of available free time for the past two months hacking on my project. I've finally uploaded libfu-3.2.7 final. My eyes don't focus, my girlfriend left me, and my cat stopped leaving dead mice in my slippers. So for the next two months I'm not touching any code.

      That's why you get punctuated equilibrium.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    2. Re:Not a large stretch of the imagination by NDPTAL85 · · Score: 2, Funny

      Um was typing code on your computer really more important than paying attention to your girlfriend?

      --
      Mac OS X and Windows XP working side by side to fight back the night.
  4. hmm... by ElectronOfAtom · · Score: 1

    buzzword bingo anyone?
    It's time to qualitize our paradigms for increased marketplace productivity and to keep employee morale high by constant restructuring and ...
    or.. to quote Dilbert, My SPOO has too much FLEEM

    Did anyone understand this post?

    --
    Only two things are infinite, the universe, and human stupidity,
    and I'm not sure about the former.
  5. Biologically massive software development by TuringTest · · Score: 2, Informative
    If you are interested in how software development can be addressed vith unusual points of view, you can read also this article:

    Mob Software: The Erotic Life of Code
    An Essay in First Person by
    Richard P. Gabriel & Ron Goldman

    It has been previously discussed in Slashdot.

    --
    Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
  6. Correction by OECD · · Score: 4, Funny

    Russian physicists Gorshenev and Pis'mak...

    Gorshenev is a Russian, but I'm pretty sure Pis'mak is a Vulcan.

    --
    One man's -1 Flamebait is another man's +5 Funny.
  7. Stating the obvious by achacha · · Score: 2, Insightful

    I wonder how long it took these guys to obfuscate the obvious that any software developer learned in CS101?! All they are saying that after a certain time the software development process (i.e. CVS checkin data) reaches an equilibrium only perturbed by small changes.

    Well if that wasn't the most complicated summary of the software development process, I don't know what is.

    Yes there are a lot of changes initially, since the product is being written, then as it reaches alpha the features taper off (thus the heavy CVS activity) and the new CVS activity is mostly high priority enhancements, as we reach the beta stage, the CVS activity is mostly bug fixes. Post release CVS activity is again intermittent CVS checkins of bug fixes, and such.

    Now if these guys really wanted to prove their theory valid, they should have analyzed CVS branches individually and would have seen that their theory does not hold up. A branch in CVS is proportional to a change it will caryy and the CVS activity in a branch scaled to that will show that there is no slowdown but rather the same chaos as in the start of the project except localized to a branch.

    I do wish these academics would try and write about something that will move us forward, rather than taking ideas that are well known and obfuscating them to a point that they set up back in the time it takes to understand what they are trying to say. Or maybe they just had a bad run with Babelfish :)

    1. Re:Stating the obvious by Hognoxious · · Score: 1
      I do wish these academics would try and write about something that will move us forward, rather than taking ideas that are well known and obfuscating them
      Academics? Do something useful?
      That's kind of like wishing that dogs are pink with flat snouts and make grunting noises.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  8. Restating the obvious by weierstrass · · Score: 1

    Or in layman's terms:

    Like animals, software tends to change a lot until it becomes pretty good, and then not change as much any more.

    --
    my password really is 'stinkypants'
  9. Not Stating the obvious by tree_frog · · Score: 1
    Err, no. That is precisely not what they are saying. They describe software as reaching a state of Self-Organized Criticallity. This is analogous to a sandpile (the codebase) onto which sand is being continuously poured. What happens is the slopes of the sandpile start avalanching (code changes) as sand is pored on. The interesting thing is that a certain relationship is observed between the size of avalanches (code changes) and their frequency.

    In software terms, what this means is not that code gets more stable, but that stability is dependent on the scale at which you are looking at things. Look at the linux kernel: There are lots of small changes being made, but their are still big changes happening (albeit less frequently). e.g. the 0(1) scheduler, new filesystems, etc.

    It is definitely not that things taper off to stabilityy, then there is an equilibrium where only small changes are occuring. Changes of all sizes are continuously happening - its just the bigger ones are less frequent. But you can predict how often the bigger changes will happen, based on observing how often the smaller ones happen.

    I've just been thinking my way through this article, and I think it might have some interesting consequences - maybe there is a paper in it somewhere! regards, treefrog