bin+lib bigbro

Library for tracking file accesses of processes

23 releases

0.5.2 Jul 21, 2019
0.5.0 Feb 28, 2019
0.4.0 Mar 11, 2018
0.3.16 Aug 11, 2017
0.3.15 Jul 17, 2017

#248 in Operating systems

Download history 4/week @ 2024-02-13 113/week @ 2024-02-20 11/week @ 2024-02-27

128 downloads per month
Used in fac

GPL-2.0+

220KB
4.5K SLoC

Rust 2K SLoC // 0.1% comments C 1.5K SLoC // 0.2% comments Python 780 SLoC // 0.2% comments Shell 99 SLoC // 0.2% comments

Windows Build Status CircleCI

Coverage Status codecov CII Best Practices

libbigbro

libbigbro is a library that provides two functions that enables you to run a command (i.e. fork and exec on a posix system) and track what files it reads or modifies. These two functions, bigbro and bigbro_with_mkdir are declared in bigbro.h, which documents their behavior in a comment.

bigbro

bigbro is a simple demo utility that uses libbigbro to run a changes specified on the command line. It has no command-line flags, and is as easy to use as strace:

$ ./bigbro mail
No mail for droundy
r: /usr/lib/x86_64-linux-gnu/liblockfile.so.1.0
r: /usr/lib/x86_64-linux-gnu/liblockfile.so.1
r: /usr/bin/bsd-mailx
r: /usr/bin/mail
r: /lib/x86_64-linux-gnu/libc.so.6
r: /lib/x86_64-linux-gnu/libbsd.so.0.7.0
r: /lib/x86_64-linux-gnu/libc-2.19.so
r: /lib/x86_64-linux-gnu/libbsd.so.0
r: /etc/mail.rc
r: /etc/ld.so.cache
r: /etc/alternatives/mail

The purpose of bigbro is primarily to enable easy testing of libbigbro.

Building

To build bigbro, you just need run:

sh build/linux.sh

If you have fac installed, you can alternatively build bigbro using fac. In this case, you can also simultaneously build bigbro and run the test suite, by running:

python3 run-tests.py

Dependencies