  REpresentational State Transfer (REST) is considered as one standard software
architectural style to build web APIs that can integrate software systems over
the internet. However, while connecting systems, RESTful APIs might also break
the dependent applications that rely on their services when they introduce
breaking changes, e.g., an older version of the API is no longer supported. To
warn developers promptly and thus prevent critical impact on downstream
applications, a deprecated-removed model should be followed, and
deprecation-related information such as alternative approaches should also be
listed. While API deprecation analysis as a theme is not new, most existing
work focuses on non-web APIs, such as the ones provided by Java and Android. To
investigate RESTful API deprecation, we propose a framework called RADA
(RESTful API Deprecation Analyzer). RADA is capable of automatically
identifying deprecated API elements and analyzing impacted operations from an
OpenAPI specification, a machine-readable profile for describing RESTful web
service. We apply RADA on 2,224 OpenAPI specifications of 1,368 RESTful APIs
collected from APIs.guru, the largest directory of OpenAPI specifications.
Based on the data mined by RADA, we perform an empirical study to investigate
how the deprecated-removed protocol is followed in RESTful APIs and
characterize practices in RESTful API deprecation. The results of our study
reveal several severe deprecation-related problems in existing RESTful APIs.
Our implementation of RADA and detailed empirical results are publicly
available for future intelligent tools that could automatically identify and
migrate usage of deprecated RESTful API operations in client code.
