JSON is an essential file and data format in domains that span scientific computing, web APIs or configuration management. Its popularity has motivated significant software development effort to build multiple libraries to process JSON data. Previous studies focus on performance comparison among these libraries and lack a software engineering perspective. We present the first systematic analysis and comparison of the input / output behavior of 20 JSON libraries, in a single software ecosystem: Java/Maven. We assess behavior diversity by running each library against a curated set of 473 JSON files, including both well-formed and ill-formed files. The main design differences, which influence the behavior of the libraries, relate to the choice...
Maven, a widely adopted software ecosystem for Java libraries, plays a critical role in the developm...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Change is a routine in software development. In the case of APIs provided by libraries and framework...
JSON is an essential file and data format in domains that span scientific computing, web APIs or con...
Despite its obvious benefits, the increased adoption of package managers to automate the reuse of li...
Backward compatibility is a major concern for any library developer. In this paper, we evaluate how ...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Thanks to the emergence of package managers and online software repositories, modern software develo...
In this paper, we study how object-oriented classes are used across thousands of software packages. ...
While assessing software performance quality in the cloud, we noticed some significant performance v...
International audienceIn this paper, we study how object-oriented classes are used across thousands ...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
Streaming APIs allow for big data processing of native data structures by providing MapReduce-like o...
Background: Previous research has shown that crypto APIs are hard for developers to understand and d...
Maven, a widely adopted software ecosystem for Java libraries, plays a critical role in the developm...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Change is a routine in software development. In the case of APIs provided by libraries and framework...
JSON is an essential file and data format in domains that span scientific computing, web APIs or con...
Despite its obvious benefits, the increased adoption of package managers to automate the reuse of li...
Backward compatibility is a major concern for any library developer. In this paper, we evaluate how ...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Thanks to the emergence of package managers and online software repositories, modern software develo...
In this paper, we study how object-oriented classes are used across thousands of software packages. ...
While assessing software performance quality in the cloud, we noticed some significant performance v...
International audienceIn this paper, we study how object-oriented classes are used across thousands ...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
Streaming APIs allow for big data processing of native data structures by providing MapReduce-like o...
Background: Previous research has shown that crypto APIs are hard for developers to understand and d...
Maven, a widely adopted software ecosystem for Java libraries, plays a critical role in the developm...
Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. S...
Change is a routine in software development. In the case of APIs provided by libraries and framework...