Add tests to the built-in perl debugger and refactor it.
The default perl debugger ("perl -d") is useful and powerful. However, it suffers from lack of automated tests (which, as a result, caused some recent enhancements to it, to introduce regressions), and its internal code quality leaves a lot to be desired. This project aims to improve the debugger's test coverage, and afterwards to refactor it.
1. More automated tests for verifying the correctness of "perl -d".
2. More modular code with better extensibility.
The default perl debugger (normally invoked with "perl -d") is implemented
lib/perl5db.pl in the Perl 5 core and has a test suite in
lib/perl5db.t . I have sent the perl5-porters mailing lists patches to
add tests to it, and fix bugs (some of which were introduced by recent
Currently, the test suite is heavily incomplete, which makes introducing regressions in the debugger fairly easy. Furthermore, its code suffers from many bad paradigms, and could use a lot of refactoring.
This project aims to first add more automated tests to the debugger (to make sure present and future modifications to the debugger do not cause regressions), and then to refactor, clean up, and modernise its code (to make future modifications easier).
1. Add automated tests for each of the debugger command-line commands listed in http://perldoc.perl.org/perldebug.html in order to reach a minimal level of test coverage.
2. Implement a method to find which lines in the debugger's code are not covered by tests. We may be able to use Devel::Cover for that, but it is possible a different strategy will be needed.
3. Add tests to cover most of the lines that are still not covered in the debugger.
4. Refactor the code.
I predict that the project will take between one and four months. I can begin working on it immediately.
The code will be made available (including during development) in a branch in my git clone of the Perl 5 core repository. During and afterwards, it will hopefully be merged into the Perl 5 core, after review by the perl5-porters.
I am an active user, developer, and advocate of Perl and other open-source technologies. I maintain many modules on CPAN (http://metacpan.org/author/SHLOMIF/, http://perlresume.org/SHLOMIF), and have contributed to other Perl projects. I am also proficient in C, C++, Assembly and other languages and have been actively involved in C and C++ projects.
I have successfully completed the Perl Foundation's "XML-RSS Cleanup" grant:
( short URL: http://is.gd/1nYZM )
I maintain an active homepage at http://www.shlomifish.org/ which contains more information about me.