On the use of replacement messages in API deprecation: An empirical study.
Saved in:
| 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 |