First another example (elaborating Petrunin's comment) of a curve in $\mathbb R^3$ that is not locally convex: consider $x \mapsto (x, x^3, x^5)$. From the first derivative, any support plane at the origin needs to contain the $x$-axis. From the third derivative, if there's a supporot plane it needs to be the $xy$-plane. However, from the fifth derivative, the curve crosses this plane. Therefore, it is not locally convex. On the other hand, the curves $(x, x^3, x^4)$ and $(x, x^9, x^{132})$ are locally convex at the origin. This example shows what you need to do: express the submanifold as the graph of a function look at successive $k$-jets of the functio Typically you can determine local convexity from the 2-jet, that is, the second fundamental form. If not, you can look at the higher and higher jets, that is, polynomial approximations of greater and greater degree. If there is a linear functional on the normal bundle that when composed with this polynomial is strictly positive in a neighborhood of the origin, then it's locally convex at that point. If the submanifold is only $C^\infty$ with infinite order contact to some subspace of the tangent space, you're out of luck with this approach---even if you dutifully spend an infinite amount of time computing polynomial approximations, you will never resolve it. These polynomials, of course, can be expressed in terms of the 2nd fundamental form and its covariant derivatives. Depending on how the submanifold is defined near $x$, the question of local convexity might be an algorithmically unsolvable question.