It is at least mathematically possible to determine whether a loop of edges are consistent as chords of a circle. But suppose software finds such a loop. How does one decide whether it was meant to represent a circle or just happens to satisfy the test? Any regular polygon (equilateral triangle, square, pentagon, ...) will pass the test. But does that mean the polygon should have been a circle? There's no way to tell!
An STL file contains a flat, unstructured list of independent triangles. There isn't even anything telling you whether two triangles share a a vertex or an edge! My experience has been that STL is a "write-only" file format that is very sensitive to the design choices of the software that wrote the file. Many examples I have looked at appear to be the work of a very tiny drunken hyperactive spider! As @DaveR has noted here and elsewhere, it is usually far less work to look at the STL using an STL viewer and redraw the shape in SketchUp without importing the file.