analyzing software programming