What Java developers know about compatibility, and why this matters
The result's identifiers
Result code in IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F49777513%3A23520%2F16%3A43925694" target="_blank" >RIV/49777513:23520/16:43925694 - isvavai.cz</a>
Result on the web
<a href="http://dx.doi.org/10.1007/s10664-015-9389-1" target="_blank" >http://dx.doi.org/10.1007/s10664-015-9389-1</a>
DOI - Digital Object Identifier
<a href="http://dx.doi.org/10.1007/s10664-015-9389-1" target="_blank" >10.1007/s10664-015-9389-1</a>
Alternative languages
Result language
angličtina
Original language name
What Java developers know about compatibility, and why this matters
Original language description
Real-world programs are neither monolithic nor static-they are constructed using platform and third party libraries, and both programs and libraries continuously evolve in response to change pressure. In case of the Java language, rules defined in the Java Language and Java Virtual Machine Specifications define when library evolution is safe. These rules distinguish between three types of compatibility-binary, source and behavioural. We claim that some of these rules are counter intuitive and not well-understood by many developers. We present the results of a survey where we quizzed developers about their understanding of the various types of compatibility. 414 developers responded to our survey. We find that while most programmers are familiar with the rules of source compatibility, they generally lack knowledge about the rules of binary and behavioural compatibility. This can be problematic when organisations switch from integration builds to technologies that require dynamic linking, such as OSGi. We have assessed the gravity of the problem by studying how often linkage-related problems are referenced in issue tracking systems, and find that they are common.
Czech name
—
Czech description
—
Classification
Type
J<sub>x</sub> - Unclassified - Peer-reviewed scientific article (Jimp, Jsc and Jost)
CEP classification
IN - Informatics
OECD FORD branch
—
Result continuities
Project
<a href="/en/project/ED1.1.00%2F02.0090" target="_blank" >ED1.1.00/02.0090: NTIS - New Technologies for Information Society</a><br>
Continuities
P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)
Others
Publication year
2016
Confidentiality
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů
Data specific for result type
Name of the periodical
Journal of Empirical Software Engineering
ISSN
1573-7616
e-ISSN
—
Volume of the periodical
21
Issue of the periodical within the volume
3
Country of publishing house
DE - GERMANY
Number of pages
26
Pages from-to
1371-1396
UT code for WoS article
000379061700019
EID of the result in the Scopus database
2-s2.0-84966415665