A computer processor determines the backward compatibility of a software component. The processor identifies one or more programming interfaces that are exposed by a first version of a software component. The processor converts the attributes of the exposed programming interfaces into corresponding operations. The processor performs a backward compatibility check by comparing the operations of the first version of the software component to one or more operations of a second version of the software component. The processor determines the backward compatibility of the first version of the software component, based, at least in part, on a result of the backward compatibility check.