On the Semantic Detection of Cloud API (Anti)Patterns. Brabra, H., Mtibaa, A., Petrillo, F., Merle, P., Sliman, L., Moha, N., Gaaloul, W., Gu�h�neuc, Y., Benatallah, B., & Gargouri, F. Information and Software Technology (IST), 107(3):65–82, Elsevier, March, 2019. 17 pages.
Paper abstract bibtex Context. Open standards are urgently needed for enabling software interoperability in Cloud Computing. Open Cloud Computing Interface (OCCI) provides a set of best design principles to create interoperable REST management APIs. Although OCCI is the only standard addressing the management of any kind of cloud resources, it does not support a range of best principles related to REST design. This often worsens REST API quality by decreasing their understandability and reusability. Objective. We aim at assisting cloud developers to enhance their REST management APIs by providing a compliance evaluation of OCCI and REST best principles and a recommendation support to comply with these principles. Method. First, we leverage patterns and anti-patterns to drive respectively the good and poor practices of OCCI and REST best principles. Then, we propose a semantic-based approach for defining and detecting REST and OCCI (anti)patterns and providing a set of correction recommendations to comply with both REST and OCCI best principles. We validated this approach by applying it on cloud REST APIs and evaluating its accuracy, usefulness and extensibility. Results. We found that our approach accurately detects OCCI and REST(anti)patterns and provides useful recommendations. According to the compliance results, we reveal that there is no widespread adoption of OCCI principles in existing APIs. In contrast, these APIs have reached an acceptable level of maturity regarding REST principles. Conclusion. Our approach provides an effective and extensible technique for defining and detecting OCCI and REST (anti)patterns in Cloud REST APIs. Cloud software developers can benefit from our approach and defined principles to accurately evaluate their APIs from OCCI and REST perspectives. This contributes in designing interoperable, understandable, and reusable Cloud management APIs. Thank to the compliance analysis and the recommendation support, we also contribute to improving these APIs, which make them more straightforward.
@ARTICLE{Brabra19-IST-SemanticDetectionCloudAPI,
AUTHOR = {Hayet Brabra and Achraf Mtibaa and Fabio Petrillo and
Philippe Merle and Layth Sliman and Naouel Moha and Walid Gaaloul and
Yann-Ga�l Gu�h�neuc and Boualem Benatallah and Fa�ez Gargouri},
JOURNAL = {Information and Software Technology (IST)},
TITLE = {On the Semantic Detection of Cloud API (Anti)Patterns},
YEAR = {2019},
MONTH = {March},
NOTE = {17 pages.},
NUMBER = {3},
PAGES = {65--82},
VOLUME = {107},
EDITOR = {Claes Wohlin},
KEYWORDS = {Topic: <b>Design patterns</b>,
Topic: <b>Code and design smells</b>, Venue: <b>IST</b>},
PUBLISHER = {Elsevier},
URL = {http://www.ptidej.net/publications/documents/IST18.doc.pdf},
ABSTRACT = {\textit{Context.} Open standards are urgently needed for
enabling software interoperability in Cloud Computing. Open Cloud
Computing Interface (OCCI) provides a set of best design principles
to create interoperable REST management APIs. Although OCCI is the
only standard addressing the management of any kind of cloud
resources, it does not support a range of best principles related to
REST design. This often worsens REST API quality by decreasing their
understandability and reusability. \textit{Objective.} We aim at
assisting cloud developers to enhance their REST management APIs by
providing a compliance evaluation of OCCI and REST best principles
and a recommendation support to comply with these principles.
\textit{Method.} First, we leverage patterns and anti-patterns to
drive respectively the good and poor practices of OCCI and REST best
principles. Then, we propose a semantic-based approach for defining
and detecting REST and OCCI (anti)patterns and providing a set of
correction recommendations to comply with both REST and OCCI best
principles. We validated this approach by applying it on cloud REST
APIs and evaluating its accuracy, usefulness and extensibility.
\textit{Results.} We found that our approach accurately detects OCCI
and REST(anti)patterns and provides useful recommendations. According
to the compliance results, we reveal that there is no widespread
adoption of OCCI principles in existing APIs. In contrast, these APIs
have reached an acceptable level of maturity regarding REST
principles. \textit{Conclusion.} Our approach provides an effective
and extensible technique for defining and detecting OCCI and REST
(anti)patterns in Cloud REST APIs. Cloud software developers can
benefit from our approach and defined principles to accurately
evaluate their APIs from OCCI and REST perspectives. This contributes
in designing interoperable, understandable, and reusable Cloud
management APIs. Thank to the compliance analysis and the
recommendation support, we also contribute to improving these APIs,
which make them more straightforward.}
}