A descontinuação é um recurso de linguagem que permite aos produtores de API marcar um recurso como obsoleto. Nosso objetivo é obter uma compreensão profunda das necessidades dos produtores e consumidores de APIs em relação à depreciação. Para esse fim, investigamos por que os produtores de API descontinuam recursos, se eles removem recursos obsoletos, como esperam que os consumidores reajam e o que leva um consumidor de API a reagir à descontinuação.

Para atingir esse objetivo, conduzimos entrevistas semiestruturadas com 17 produtores terceirizados de API Java e entrevistamos 170 desenvolvedores Java. Observamos que o atual mecanismo de descontinuação em Java e a proposta para aprimorá-lo não atendem a todas as necessidades de um desenvolvedor. Isso nos leva a propor e avaliar três melhorias adicionais no mecanismo de depreciação.