College students majoring in computer science and software engineering need to master skills for high-quality programming.However,rich research has shown that both the teaching and learning of high-quality programming are challenging and deficient in most college education systems.Recently,the continuous inspection paradigm has been widely used by developers on social coding sites(e.g.,GitHub)as an important method to ensure the internal quality of massive code contributions.This paper presents a case where continuous inspection is introduced into the classroom setting to improve students’programming quality.In the study,we first designed a specific continuous inspection process for students’collaborative projects and built an execution environment for the process.We then conducted a controlled experiment with 48 students from the same course during two school years to evaluate how the process affects their programming quality.Our results show that continuous inspection can help students in identifying their bad coding habits,mastering a set of good coding rules and significantly reducing the density of code quality issues introduced in the code.Furthermore,we describe the lessons learned during the study and propose ideas to replicate and improve the process and its execution platform.
In diverse and self-governed multiple clouds context, the service management and discovery are greatly challenged by the dynamic and evolving features of services. How to manage the features of cloud services and support accurate and efficient service discovery has becomean open problem in the area of cloud computing. This paper proposes a field model of multiple cloud services and corresponding service discovery method to address the issue. Different from existing researches, our approach is inspired by Bohr atom model. We use the abstraction of energy level and jumping mechanism to describe services status and variations, and thereby to support the service demarcation and discovery. The contributions of this paper are threefold. First, we propose the abstraction of service energy level to represent the status of services, and service jumping mechanism to investigate the dynamic and evolving features as the variations and re-demarcation of cloud services according to their energy levels. Second, we present user acceptable service region to describe the services satisfying users' requests and corresponding service discovery method, which can significantly decrease services search scope and improve the speed and precision of service discovery. Third, a series of algorithms are designed to implement the generation of field model, user acceptable service regions, service jumping mechanism, and user-oriented service discovery. We have conducted an extensive experiments on QWS dataset to validate and evaluate our proposed models and algorithms. The results show that field model can well support the representation of dynamic and evolving aspects of services in multiple clouds context and the algorithms can improve the accuracy and efficiency of service discovery.