Visualization of profiling information in Pharo and Squeak

Mentor: Alexandre Bergel
Second mentor:
Level: Intermediate
Accepted student: Mariano Coca
Invited students: Felipe Bañados, Mariano Coca
Students interested: Felipe Bañados(very), Mariano Coca(very)

Even though computing resources are abundant, execution optimization through
code profiling remains an important software development activity. A CPU time
profiler is a crucial tool to identify bottlenecks - program elements that take a
large part of the execution time. Today, it is inconceivable to ship a programming
environment without a code profiler included or provided by a third party.

Unfortunately, Smalltalk environments did not receive deserved attention on code profiling tools, and especially in Pharo and Squeak. MessageTally is currently the only profiling tool on these platforms. Whereas quite useful, profiling information would greatly benefit from a graphical (instead of textual) rendering. Inspiring example could be found on http://www.bootchart.org/images/bootchart.png

Technical details

The visualization part is offered by Mondrian. Technical challenges will be in getting the dynamic information and determining relevant and defining compelling visualizations. A first step was already done using the Spy framework.

Benefits to the Students

The student will have the potential to make a great impact on the Smalltalk community. Depending on the student taste, the project goal may range from getting expressive visualizations and getting an efficient implementation (e.g., with little runtime overhead). This project is also suitable for research activities. The current state of the art in this field is rather poor.

Benefits to the Community

MessageTally hasn't significantly evolved over the last years. This cannot last forever :-)

Updated: 22.3.2010