Towards Non-Intrusive Software Introspection and beyond
Apoorve Mohan, Shripad Nadgowda, et al.
IC2E 2020
Software discovery is a key management function to ensure that systems are free of vulnerabilities, comply with licensing requirements, and support advanced search for systems containing given software. Today, software is predominantly discovered through querying package management tools, or using rules that check for file metadata or contents. These approaches are inadequate as not every software is installed through package managers, and agile development practices lead to frequent deployment of software. Other approaches to software discovery use machine learning methods requiring training phase, or require maintaining knowledge bases. Columbus uses the knowledge of the software packaging practices that evolved over time, and uses the information embedded in the file system impression created by a software package to discover it. Columbus is able to discover software in 92% of all official Docker images. Further, Columbus can be used in problem diagnosis and drift detection situations to compare two different systems, or to determine the evolution of a system overtime.
Apoorve Mohan, Shripad Nadgowda, et al.
IC2E 2020
Ramani Routray, Shripad Nadgowda
NOMS 2010
Xiaoqiao Meng, Canturk Isci, et al.
ICAC 2010
Anthony Byrne, Yanni Pang, et al.
DATE 2022