VISA is a low-level I/O library allowing data communication over a variety of data busses. A standard software interface is presented, independent of the physical communication path. For example, this would allow the same software to be used whether communicating with a USB instrument or via GPIB. Typically, VISA forms the low-level I/O interface within an instrument driver (such as an IVI driver). VISA is maintained by the IVI foundation.