This thesis was devoted to the implementation of an updated version of the open domain Matlab code bvpsuite1.1. The goal was to understand the structure of the old code, identify the drawbacks, and implement missing features. An important task was to implement the new version in a possibly modular form to improve the readability and accessibility of the code. All modules were finally collected in a new software package bvpsuite2.0. These modules were: Solving BVPs in ODEs on finite and semi-infinite intervals; Solving EVPs in ODEs on finite and semi-infinite intervals; Solving Index-1 DAEs. In all cases, the differential operators may include boundary singularities and the ODE system may be subject to multi-point boundary conditions. To enhance efficiency, all modules are equipped with an error estimate and a mesh adaptation strategy. For every part of the code, a user manual is provided.