$S$ is an open set in $\mathbb R^2$.
If for any two different points on the boundary on $S$, we have the line connecting those two points only intersect with $\partial S$ only at $\{x,y\}$, can we conclude that either $S$ is convex or $S^c$ is convex?
--> We have: $\forall x,y\in\partial S$, $L\{x,y\}\cap\partial S=\{x,y\}$
I try by contradiction.
If $S$ is convex or concave, then the boundary of $S$ can be divided into a few graphs of convex functions. If $S$ is neither convex nor concave, then the boundary of $S$ must contain a curve $\gamma$ such that $\gamma$ is a graph of a function but not a graph of convex function. In this case, we can always find two points, $x,y$, such that there exists $z\in\gamma$ and $z=\alpha x+(1-\alpha)y$, contradiction?
No.
Let $S = \mathbb R^2 \setminus \{(0,0),(0,1)\}$. This is an open set which is neither convex nor concave. We have $\partial S = \{(0,0),(0,1)\}$. For the line $L$ connecting the two boundary points we have $L \cap \partial S = \{(0,0),(0,1)\}$.
Another counterexample is this: Let $C$ be the half-circle $C = \{(x,y) \in \mathbb R^2 \mid x^2 + y^2 =1, y \ge 0\}$. Then let $S = \mathbb R^2 \setminus C$.