摘要

This paper presents a practical solution for identifying tenant data interference defects when migrating single-tenant legacy code to multi-tenant components or multi-tenant microservices.
The paper explains the concepts of multi-tenant components and microservices, elaborates a formal definition of the multi-tenancy data interference problem based on information flow control theory, and presents a practical method to identify potential defects by analysing the code statically. The method has been implemented as a prototype developer support tool for PHP code.
The implemented support tool prototype demonstrates the method's effectiveness for supporting the transformation of single-tenant legacy source code into multi-tenant components or microservices. It could also be used to confirm that multi-tenant components or microservices are free of data interference defects. The prototype implementation has been validated in a case study with code from the open-source enterprise application Sugar-CRM. Results indicate that the developed approach significantly increases the efficiency of multi-tenancy transformation in larger code bases by pointing out potential defects.

  • 出版日期2018-10-1