Framework (computer science) redirects here. For other uses, see Framework (disambiguation) . In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.