Static File Path Analysis for Reliable Resource Locating
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Modern software systems are becoming more complex as their growing software dependencies and resources continue to inflate with each advancement; often requiring a vast collection of third-party API references, OS level dependencies, configuration files, and much more. Maintaining all of these resources can be a difficult task, especially when software supports multiple system configurations and a wide range of dependency versions. Multiple potential issues arise when software refers to these resources, such as: invalid or out-of-date URLs, file path errors, or invalid file manipulations in scripts. We are able to use static analysis to observe the flow of resources and determine the validity of operation upon these resources. This dissertation introduces an analysis framework that abstracts possible values of resource path references which can be used to help software developers maintain different types of resource referencing code. By utilizing the results produced by our framework it is possible to ensure successful execution, code transplantation, identify dependency issues and warn against potential errors. This dissertation also describes how we applied our framework to summarize the network behaviors of applications, support repairing of errors in Dockerfiles, and summarize a file system state resulting from shell script execution.