There are precisely two available "serious" implementations of the standard algorithm for computing integral points on an elliptic curve: a non-free one in Magma (http://magma.maths.usyd.edu.au/magma/) and a free one in Sage (http://sagemath.org). The one in Sage was done by Cremona and two German masters students a few years ago, and when refereeing the Sage code, I compared the answers with Magma, and uncovered and reported numerous bugs in Magma, which were subsequently fixed. Here's how to use Sage to find all integral (or S-integral!) points on a curve over Q:
sage: E = EllipticCurve([1,2,3,4,5])
sage: E.integral_points()
[(1 : 2 : 1)]
sage: E.S_integral_points([2])
[(-103/64 : -233/512 : 1), (1 : 2 : 1)]
and here is how to use Magma:
> E := EllipticCurve([1,2,3,4,5]);
> IntegralPoints(E);
[ (1 : 2 : 1) ]
> SIntegralPoints(E, [2]);
[ (1 : 2 : 1), (-103/64 : -233/512 : 1) ]
Note that in both cases by default the points are only returned up to sign. In Sage you get both signs like this:
sage: E.integral_points(both_signs=True)
[(1 : -6 : 1), (1 : 2 : 1)]
Finally, you can use Magma for free online here: http://magma.maths.usyd.edu.au/calc/ and you can use Sage free here: http://demo.sagenb.org/https://sagecell.sagemath.org/. With Sage, you can also just download it for free and install it on your computer. With Magma, you have to pay between $100 and a few thousand dollars, depending on who you are, and deal with copy protection.
NOTE: Technically a system called SIMATH (http://tnt.math.se.tmu.ac.jp/simath/) had an implementation of computing integral points. But it was killed by our friends at Siemens Corp.