  We present a new algorithm for computing integral bases in algebraic function
fields of one variable, or equivalently for constructing the normalization of a
plane curve. Our basic strategy makes use of the concepts of localization and
completion, together with the Chinese remainder theorem, to reduce the problem
to the task of finding integral bases for the branches of each singularity of
the curve. To solve the latter task, in turn, we work with suitably truncated
Puiseux expansions. In contrast to van Hoeij's algorithm, which also relies on
Puiseux expansions (but pursues a different strategy), we use Hensel's lemma as
a key ingredient. This allows us at some steps of the algorithm to compute
factors corresponding to conjugacy classes of Puiseux expansions, without
actually computing the individual expansions. In this way, we make
substantially less use of the Newton-Puiseux algorithm. In addition, our
algorithm is inherently parallel. As a result, it outperforms in most cases any
other algorithm known to us by far. Typical applications are the computation of
adjoint ideals and, based on this, the computation of Riemann-Roch spaces and
the parametrization of rational curves.
