On the use of replacement messages in API deprecation: An empirical study.

Saved in:
Bibliographic Details
Title: On the use of replacement messages in API deprecation: An empirical study.
Authors: Brito, Gleison1 gleison@dcc.ufmg.br, Hora, Andre2 hora@facom.ufms.br, Valente, Marco Tulio1 mtov@dcc.ufmg.br, Robbes, Romain3 rrobbes@unibz.it
Source: Journal of Systems & Software. Mar2018, Vol. 137, p306-321. 16p.
Subjects: Application program interfaces, Code reuse, Software libraries (Computer programming), Java programming language, Computer software development
Abstract: Libraries are commonly used to support code reuse and increase productivity. As any other system, they evolve over time, and so do their APIs. Consequently, client applications should be updated to benefit from better APIs. To facilitate this task, API elements should always be deprecated with replacement messages. However, in practice, there are evidences that API elements are deprecated without these messages. In this paper, we study questions regarding the adoption of deprecation messages. Our goal is twofold: to measure the real usage of deprecation messages and to investigate whether a tool is needed to recommend them. We assess (i) the frequency of deprecated elements with replacement messages, (ii) the impact of software evolution on this frequency, and (iii) the characteristics of systems that deprecate API elements in a correct way. Our analysis on 622 Java and 229 C# systems shows that: (i) on the median, 66.7% and 77.8% of the API elements are deprecated with replacement messages per project, (ii) there is no major effort to improve deprecation messages, and (iii) systems that deprecated API elements with messages are different in terms of size and community. As a result, we provide the basis for creating a tool to support clients detecting missing deprecation messages. [ABSTRACT FROM AUTHOR]
Copyright of Journal of Systems & Software is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 127702756
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: On the use of replacement messages in API deprecation: An empirical study.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Brito%2C+Gleison%22">Brito, Gleison</searchLink><relatesTo>1</relatesTo><i> gleison@dcc.ufmg.br</i><br /><searchLink fieldCode="AR" term="%22Hora%2C+Andre%22">Hora, Andre</searchLink><relatesTo>2</relatesTo><i> hora@facom.ufms.br</i><br /><searchLink fieldCode="AR" term="%22Valente%2C+Marco+Tulio%22">Valente, Marco Tulio</searchLink><relatesTo>1</relatesTo><i> mtov@dcc.ufmg.br</i><br /><searchLink fieldCode="AR" term="%22Robbes%2C+Romain%22">Robbes, Romain</searchLink><relatesTo>3</relatesTo><i> rrobbes@unibz.it</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Journal+of+Systems+%26+Software%22">Journal of Systems & Software</searchLink>. Mar2018, Vol. 137, p306-321. 16p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Application+program+interfaces%22">Application program interfaces</searchLink><br /><searchLink fieldCode="DE" term="%22Code+reuse%22">Code reuse</searchLink><br /><searchLink fieldCode="DE" term="%22Software+libraries+%28Computer+programming%29%22">Software libraries (Computer programming)</searchLink><br /><searchLink fieldCode="DE" term="%22Java+programming+language%22">Java programming language</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software+development%22">Computer software development</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Libraries are commonly used to support code reuse and increase productivity. As any other system, they evolve over time, and so do their APIs. Consequently, client applications should be updated to benefit from better APIs. To facilitate this task, API elements should always be deprecated with replacement messages. However, in practice, there are evidences that API elements are deprecated without these messages. In this paper, we study questions regarding the adoption of deprecation messages. Our goal is twofold: to measure the real usage of deprecation messages and to investigate whether a tool is needed to recommend them. We assess (i) the frequency of deprecated elements with replacement messages, (ii) the impact of software evolution on this frequency, and (iii) the characteristics of systems that deprecate API elements in a correct way. Our analysis on 622 Java and 229 C# systems shows that: (i) on the median, 66.7% and 77.8% of the API elements are deprecated with replacement messages per project, (ii) there is no major effort to improve deprecation messages, and (iii) systems that deprecated API elements with messages are different in terms of size and community. As a result, we provide the basis for creating a tool to support clients detecting missing deprecation messages. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Journal of Systems & Software is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=127702756
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1016/j.jss.2017.12.007
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 16
        StartPage: 306
    Subjects:
      – SubjectFull: Application program interfaces
        Type: general
      – SubjectFull: Code reuse
        Type: general
      – SubjectFull: Software libraries (Computer programming)
        Type: general
      – SubjectFull: Java programming language
        Type: general
      – SubjectFull: Computer software development
        Type: general
    Titles:
      – TitleFull: On the use of replacement messages in API deprecation: An empirical study.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Brito, Gleison
      – PersonEntity:
          Name:
            NameFull: Hora, Andre
      – PersonEntity:
          Name:
            NameFull: Valente, Marco Tulio
      – PersonEntity:
          Name:
            NameFull: Robbes, Romain
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 03
              Text: Mar2018
              Type: published
              Y: 2018
          Identifiers:
            – Type: issn-print
              Value: 01641212
          Numbering:
            – Type: volume
              Value: 137
          Titles:
            – TitleFull: Journal of Systems & Software
              Type: main
ResultId 1