Even though computing resources are abundant, execution optimization through
code proﬁling remains an important software development activity. A CPU time
proﬁler 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 proﬁler 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
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 :-)