Towards Seamless Analysis of Software Interoperability: Automatic Identification of Conceptual Constraints in API Documentation
- First Online:
- Cite this paper as:
- Abukwaik H., Abujayyab M., Rombach D. (2016) Towards Seamless Analysis of Software Interoperability: Automatic Identification of Conceptual Constraints in API Documentation. In: Tekinerdogan B., Zdun U., Babar A. (eds) Software Architecture. ECSA 2016. Lecture Notes in Computer Science, vol 9839. Springer, Cham
Building successful and meaningful interoperation with external software APIs requires satisfying their conceptual interoperability constraints. These constraints, which we call the COINs, include structure, dynamic, and quality specifications that if missed they lead to costly implications of unexpected mismatches and running-late projects. However, for software architects and analysts, manual analysis of unstructured text in API documents to identify conceptual interoperability constraints is a tedious and time-consuming task that requires knowledge about constraint types. In this paper, we present our empirically-based research in addressing the aforementioned issues by utilizing machine learning techniques. We started with a multiple-case study through which we contributed a ground truth dataset. Then, we built a model for this dataset and tested its robustness through experiments using different machine learning text-classification algorithms. The results show that our model enables achieving \(70.4\,\%\) precision and \(70.2\,\%\) recall in identifying seven classes of constraints (i.e., Syntax, Semantic, Structure, Dynamic, Context, Quality, and Not-COIN). This achievement increases to \(81.9\,\%\) precision and \(82.0\,\%\) recall when identifying two classes (i.e., COIN, Not-COIN). Finally, we implemented a tool prototype to demonstrate the value of our findings for architects in a practical context.