[Soot-list] Structure of Soot (OO Design)
Chris Pickett
cpicke at cs.mcgill.ca
Fri Jun 2 23:29:37 EDT 2006
Don't you like spaghetti?
Kyle Lahnakoski wrote:
>
> Thank you for putting a metric to how difficult it is to understand Soot
> code. Over the last month I have been refactoring Soot beyond
> recognition, trying to isolate the optimization routines from the
> parsing and code generation. Soot feels as though every class depends on
> every other class; a huge ball of spaghetti where pulling on any strand
> pulls brings the whole ball with it.
>
> Your graph certainly verified my feeling.
>
>
>
> Hayden Melton wrote:
>
>> Hi all,
>>
>>
>> I’m a PhD student at the University of Auckland, New Zealand. As part
>> of my
>> research I am doing empirical studies on a corpus of Java applications
>> looking
>> at their (OO) design. If you are a developer of Soot you might be
>> interested in
>> the metrics I have collected on it. They are available as graphs here:
>>
>> http://www.cs.auckland.ac.nz/~hayden/junitEvolution.htm
>>
>> There’s an explanation of what the graphs mean on my research page:
>>
>> http://www.cs.auckland.ac.nz/~hayden/research.htm
>>
>> Briefly, there are a lot of classes in Soot involved in a big
>> (compilation)
>> dependency cycle (or to use the graph-theory term: strongly connected
>> component). I think this is bad, though it’s only one aspect of the
>> quality of
>> a design. Other applications like ArgoUML and Azureus have exhibited
>> this large
>> SCC characteristic too. As a result of my contact with the Azureus
>> developers
>> they have begun refactoring Azureus.
>>
>> In any case, check it out if you’re interested in the design of Soot;
>> or OO
>> Design and metrics in general.
>>
>> /
>> Hayden Melton
>>
>> _______________________________________________
>> Soot-list mailing list
>> Soot-list at sable.mcgill.ca
>> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>
>>
>>
>
>
More information about the Soot-list
mailing list