Typically, a development methodology is designed to manage a software project over its life cycle, from inception to end-of-life. What you have been assigned to do sounds more like a task rather than a software development project. It's a large task that needs to be broken down, but it's nothing that needs a formal development methodology. Instead, you should be working within the process defined for use in the project that this task is related to.
I would start with just a very simple, methodical series of steps:
- Learn the system. Ask for requirements specifications, design documents, and any other relevant documents associated with this code base. Review them, along with the code. If anything is out-of-date, I would inquire about updating the documentation, since it would be of use to future developers.
- Read the code and associated tests. Once you've read the documents, read the code. Note discrepancies between the documents and the code. If anything is incorrect, file defects as appropriate. Restrain yourself here - don't jump in and start fixing things without following the project-level process. If there are no tests or test cases are missing, this is a good time to create them, especially if your work will involve refactoring.
- Execute the test cases. If any tests fail, file defect reports as appropriate.
- Prioritize the defects. This includes the memory leaks. Hopefully, you have more information about them by "there's a memory leak" at this point, so there should be a number of defects related to these problems. If there are any defects in the modules with memory leaks, fix those first. You want to make performance enhancements to code that otherwise passes tests.
- Begin fixing the defects, starting with those with the highest priority. Be sure to run your tests (automated and manual) to ensure that the system hasn't become unstable.
- Ask questions. Never take anything for granted. If you have access to the previous developers, take advantage of them when they have the time. Otherwise, consult documentation and Stack Overflow as appropriate. Make sure that you have a good understanding of how the system is behaving, why it is behaving that way, and convey that information to future developers through various forms of documentation.
Throughout this task, be sure that you use version control to keep track of changes. Good versioning and commit logs will help you keep track of what changes you have made and when you made them. Tracking time and tasks completed will help you improve your estimates as well as keep the managers or supervisors in-the-loop as to the current status of the project.