A Formally Proved, Complete Algorithm for Path Resolution with Symbolic Links
Chen, Ran, Martin Clochard, Claude Marché · HAL (Le Centre pour la Communication Scientifique Directe) · 2017
In the context of file systems like those of Unix, path resolution is the operation that given a character string denoting an access path, determines the target object (a file, a directory, etc.) designated by this path. This operation is not trivial because of the presence of symbolic links. Indeed, the presence of such links may induce infinite loops. We consider a path resolution algorithm that always terminate, detecting if it enters an infinite loop and reports a resolution failure in such a case. We propose a formal specification of path resolution and we formally prove that our algorithm terminates on any input, and is correct and complete with respect to our formal specification.