Это действительно сложный вопрос, потому что он зависит от того, какой код будет затронут и насколько критичен этот код.
Прежде всего, когда миграция является нетривиальной задачей, сделайте себе одолжение и обновитесь до последней версии Java, которая будет Java 6, а не Java 5. Java 6 выпускается уже полтора года или более зрелый Нет причин не выбирать его из Java 5 (imho).
Во-вторых, как и любой программный проект, ваша цель должна состоять в том, чтобы как можно быстрее запустить что-то в производство. Таким образом, вам нужно определить часть вашей системы. Чем меньше, тем лучше, чем не критичнее, тем лучше.
Другая вещь, которую нужно сделать, это просто попробовать запустить приложение под Java 6 и посмотреть, что ломается. Это может быть хуже, чем вы ожидали. Это может быть намного лучше.
Другая вещь, о которой вам, вероятно, нужно знать, это то, что по звукам у вас в вашем приложении будут фляги / библиотеки, которые с тех пор устарели. Некоторые могут даже не быть совместимыми с Java за 1.4.2. Возможно, вы захотите обновить все эти версии до последней версии.
Это, вероятно, будет означать больше взлома вещей, но использование старых / устаревших API просто выбивает банку из строя и вызывает другие проблемы.
Существуют исключения из этого, когда обновление может иметь далеко идущие последствия. От Оси1 до Оси2 приходит на ум. Эти ситуации требуют более тщательного обдумывания.
Что касается того, какие функции используются ... все они в значительной степени. Я не могу думать ни о чем, чего следует избегать на макушке.
Кроме того, я только что заметил размер вашего проекта: ~ 20K LOC. Это на самом деле довольно мало (например, я сам написал приложение об этом размере за последние 3 месяца).
Наконец, это также зависит от того, насколько легко вы найдете вещи, которые ломаются. Если у вас есть хорошее покрытие модульных тестов, то отлично. Это довольно редко, хотя. Если вы можете просто запустить приложение и надежно найти проблемы, это не так уж плохо.
Проблемные ситуации, когда сценарии сложно протестировать, и, скорее всего, вы не сможете сразу же обнаружить проблемы. Это требует большей осторожности.