SearcharxivSearch

arXiv subjects

Saleh Amareen

Publications and source records attributed to Saleh Amareen.

2 recordsLinked to original sources

GraphQLify: Automated and Type Safety-Preserving GraphQL API Adoption

GraphQL provides a schema-based, strongly typed query language that enables highly efficient client-server communication. This paper introduces GraphQLify, an automated framework designed to migrate existing REST APIs to GraphQL. Unlike prior approaches that rely on relational databases, resource description frameworks (RDF), or machine-parsable specifications, GraphQLify leverages static source code analysis for precise type inference. This novel technique generates GraphQL schemas that guarantee end-to-end type safety, preserving a core advantage of adopting GraphQL. Furthermore, existing migration tools typically generate separate adapter servers, which introduce performance overhead via dynamic request binding and network latency. GraphQLify eliminates this by generating an embedded server that directly invokes the underlying API code, significantly improving performance. We evaluated GraphQLify on 834 APIs across nine popular open-source projects, where it successfully converted 100% of the APIs with zero type mismatches. In contrast, the current state-of-the-art tool, OASGraph, exhibited a 3.5% failure rate and a 42% type mismatch rate on the same dataset. Finally, our performance evaluation demonstrates that for workflows requiring five sequential API calls, clients using GraphQLify reduce data fetching time by a factor of 2 to 4 compared to their REST counterparts.

cs.SE

GraphQL Adoption and Challenges: Community-Driven Insights from StackOverflow Discussions

GraphQL is a query language and web application programming interface (API) for client-server architecture. Its advantages include type-safe queries, which allow clients to retrieve the data they require precisely in a single request. As organizations adopt GraphQL for API implementations, it is imperative to understand its challenges and the software community's interests. To achieve this goal, we conducted a five-step mixed-method empirical analysis of 45K StackOverflow questions and answers on GraphQL. In the first step, we derive a reference architecture for the GraphQL ecosystem with five key layers. Second, we used topic modeling based on Latent Dirichlet Allocation (LDA) to automatically identify 14 topics and 47 subtopics. Third, we mapped discussion topics to architecture layers. Fourth, we manually investigate questions on each topic and subtopics to provide additional insight to the GraphQL stakeholders. Finally, we study topic difficulty, popularity, trends, and tradeoffs to provide insights into evolving community interests and challenges. Our results indicate that Client and Server are the top two architectural layers attracting discussion on SO. While earlier discussions on SO focused on building third-party applications consuming GraphQL APIs (i.e., API Integration) released by large organizations, recent trends suggest more organizations implementing APIs using GraphQL servers. Due to difficulty and lack of well-defined solutions, security remains a difficult and low-interest area. However, such a practice can lead to vulnerable APIs.

cs.SE