I am Andrei Chiș a PhD student at the University of Bern in the Software Composition Group. As part of my PhD I am working on reducing the effort needed to build domain-specific tools for development and assessment. The goal is to make tool creation a day to day activity that augments/completes the development process of software systems, much like testing. This is at core of Humane assessment, ‘a method for making software engineering decisions’.
There are many ways to tackle this. My current approach consists in designing and implementing moldable tools. By moldable tools I understand tools created with one goal in mind: extensibility. Having this as the main feature makes it feasible to easily adapt/customise/mold tools to new situations and specific domains.
I am doing this using Pharo, an open-source Smalltalk-inspired environment. I chose Pharo as it is a dynamic environment where the user can change almost everything. This makes it an ideal platform to rapidly prototype and test new ideas.
The tool that I started with is the debugger. I believe it is a really important tool that most developers feel they will never extend or modify; they perceive it as very complex pice of software. This might be the case if one starts from a large and monolithically debugger. However, things can be very different if we have a flexible and extensible debugger. I am currently working on the “Moldable Debugger” Framework to show that this is indeed possible.
Using this blog I want to present the status of my work, discuss implementation/design issues and look at the possibilities that open as we move towards moldable tools. To begin with, I will focus on the debugger.
I hope you will join me in this journey,