On behalf of the organizing committee, it is our great pleasure to welcome you to the First Workshop on Specification, Comprehension, Testing and Debugging of Concurrent Programs (SCTDCP 2016). The workshop, co-located with ASE 2016, will be held in the magnificent city of Singapore on September 3rd, 2016.
Today, multi-core hardware and cloud platform have become ubiquitous, which puts us at a fundamental turning point in software development. In order for software applications to benefit from the continued exponential throughput advances in hardware systems, the applications will need to be well-written concurrent programs. Although for the past decade we have witnessed incrementally more programmers writing concurrent programs, the vast majority of applications today are still sequential due to the lack of effective tools that support the development of concurrent programs. This trend necessitates the use of advanced methods to redesign the existing tools that remain optimized for sequential program development. We aim to advance the state of the art in different phases of concurrent software development, covering specification, comprehension, testing and debugging.

Organization-oriented multi-agent system (OOMAS) points out organizational behaviors for self-organization. Existing development methods of organizational behaviors depend on preestablished organization structures during the development phase. For this reason, OOMASs are inefficient for simulation of large-scale cliques of attackers in cyber. To solve this issues, we propose an specification language organizational behaviors to support reorganization from bottom-up way during the application phase. Based on theory of abstract data type (ADT), the behavioral functions are defined to support type description of organizational behaviors. We present abstract syntax of organizational behaviors for specification language. We explore the homomorphism and isomorphism between behavioral algebras for organizational behaviors to preserve relevances between them.

With the development of multicore hardware, concurrent, parallel and multicore software are becoming increasingly popular. Software companies are spending a huge amount of time and resources to nd and debug the bugs. Among all types of software bugs, concurrency bugs are also important and troublesome. This type of bugs is increasingly becoming an issue particularly due to the growing prevalence of multicore hardware. In this position paper, we propose a model for monitoring and debugging Starvation bugs as a type of concurrency bugs in multicore software. The model is composed into three phases: monitoring, detecting and debugging. The monitoring phase can support detecting phase by storing collected data from the system execution. The detecting phase can support debugging phase by comparing the stored data with starvation bug's properties, and the debugging phase can help in reproducing and removing the Starvation bug from multicore software. Our intention is that our model is the basis for developing tool(s) to enable solving Starvation bugs in software for multicore platforms.

Deadlock detection is an important and challenge work in distributed systems. Thing becomes more complex when multiple deadlock detection algorithm instances executing currently in the system. In this paper, we propose a leader election based deadlock detection algorithm in distributed system. Our algorithm aims to improve the performance in the condition of concurrent execution. In addition, our algorithm can provide a certain extent of fault tolerance after a current leader fails. We have proved the liveness and safety property of our algorithm. Simulation results show that our algorithm obtains an order of magnitude performance improvement on message complexity.

Instead of developing single-server software system for the powerful computers, the software is turning from large single-server to multi-server system such as distributed system. This change introduces a new challenge for the software quality measurement, since the current software analysis methods for single-server software could not observe and assess the correlation among the components on different nodes. In this paper, a new dynamic cohesion approach is proposed for distributed system. We extend Calling Network model for distributed system by differentiating methods of components deployed on different nodes. Two new cohesion metrics are proposed to describe the correlation at component level, by extending the cohesion metric of single-server software system. The experiments, conducted on a distributed systems-Netflix RSS Reader, present how to trace the various system functions accomplished on three nodes, how to abstract dynamic behaviors using our model among different nodes and how to evaluate the software cohesion on distributed system.

Adaptive random testing (ART), as an improved random testing method, preserves the advantages of traditional random test method and overcomes the blindness of traditional random testing method. But it is usually not easy to validate the correctness of the output, except for some special test cases. In other words, the test oracle problem is unresolved. In this research, we introduced metamorphic testing (MT) and metamorphic distance into ART, which is called metamorphic distance based ART (MD-ART) to provide the test oracle. The results of primary experiment results show that MD-ART performs better than traditional MT and ART not only in test effectiveness but also in test efficiency and test coverage.