Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Shao Jie Zhang

dblp:64/7096 · DBLP profile ↗
← Back
10ranked-venue papers
4as first author
0since 2021 · last 2016
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 9 · 4 first-authorTheory of computation · 2 · 1 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
3 papers
Automated reasoning and model checking · 77% Computational complexity · 19% Distributed computing theory · 4%
Software engineering, system software, and programming languages
3 papers
Program verification · 54% Concurrent programming · 46%
Human-computer interaction and pervasive computing
1 paper
Collaborative and social computing · 100%

Topics — the 12 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Automated reasoning and model checking
model checking
0.222011
Scalable automatic linearizability checking · ICSE 2011
On Combining State Space Reductions with Global Fairness Assumptions · FM 2011
Automated reasoning and model checking › model checking
state space reduction
0.222011
Scalable automatic linearizability checking · ICSE 2011
On Combining State Space Reductions with Global Fairness Assumptions · FM 2011
Collaborative and social computing › collaborative editing › consistency maintenance
operational transformation
0.212014
Formal Verification of Operational Transformation · FM 2014
Concurrent programming › atomicity
linearizability
0.212013
Verifying Linearizability via Optimized Refinement Checking · IEEE Trans. Software Eng. 2013
Program verification › refinement
refinement proof
0.212013
Verifying Linearizability via Optimized Refinement Checking · IEEE Trans. Software Eng. 2013
Computational complexity
constraint satisfaction
0.212013
Constraint-based automatic symmetry detection · ASE 2013
Automated reasoning and model checking › model checking › state space reduction
symmetry reduction
0.212013
Constraint-based automatic symmetry detection · ASE 2013
Concurrent programming
concurrency correctness
0.112011
Scalable automatic linearizability checking · ICSE 2011
Program verification › concurrent program verification
linearizability verification
0.112011
Scalable automatic linearizability checking · ICSE 2011
Program verification › model checking
state space reduction
0.012013
Verifying Linearizability via Optimized Refinement Checking · IEEE Trans. Software Eng. 2013
Program verification › model checking
symmetry reduction
0.012013
Verifying Linearizability via Optimized Refinement Checking · IEEE Trans. Software Eng. 2013
Concurrent programming
concurrent data structures
0.012011
Scalable automatic linearizability checking · ICSE 2011

Methods — techniques the papers use, named apart from their topics

symmetry reduction · 0.4model checking · 0.4formal verification · 0.4partial order reduction · 0.2refinement checking · 0.2dynamic partial order reduction · 0.2constraint satisfaction problem encoding · 0.2automorphism detection · 0.2state space reduction · 0.1
YearPublicationVenuePosition
2016 Verifying a quantitative relaxation of linearizability via refinement
Kiran Adhikari, James Street, Chao Wang 0001, Yang Liu 0003, Shao Jie Zhang
Int. J. Softw. Tools Technol. Transf.5
2014 Formal Verification of Operational Transformation
Yang Liu 0003, Shao Jie Zhang, Chengzheng Sun
FM3
2014 Model checking with fairness assumptions using PAT
Yuanjie Si, Jun Sun 0001, Yang Liu 0003, Jin Song Dong 0001, Jun Pang 0001, Shao Jie Zhang, Xiaohu Yang 0001
Frontiers Comput. Sci.6
2013 Constraint-based automatic symmetry detection
abstract
We present an automatic approach to detecting symmetry relations for general concurrent models. Despite the success of symmetry reduction in mitigating state explosion problem, one essential step towards its soundness and effectiveness, i.e., how to discover sufficient symmetries with least human efforts, is often either overlooked or oversimplified. In this work, we show how a concurrent model can be viewed as a constraint satisfaction problem (CSP), and present an algorithm capable of detecting symmetries arising from the CSP which induce automorphisms of the model. To the best of our knowledge, our method is the first approach that can automatically detect both process and data symmetries as demonstrated via a number of systems.
Shao Jie Zhang, Jun Sun 0001, Chengnian Sun, Yang Liu 0003, Junwei Ma, Jin Song Dong 0001
ASE1
2013 Verifying a Quantitative Relaxation of Linearizability via Refinement
Kiran Adhikari, James Street, Chao Wang 0001, Yang Liu 0003, Shao Jie Zhang
SPIN5
2013 Verifying Linearizability via Optimized Refinement Checking
abstract
Linearizability is an important correctness criterion for implementations of concurrent objects. Automatic checking of linearizability is challenging because it requires checking that: (1) All executions of concurrent operations are serializable, and (2) the serialized executions are correct with respect to the sequential semantics. In this work, we describe a method to automatically check linearizability based on refinement relations from abstract specifications to concrete implementations. The method does not require that linearization points in the implementations be given, which is often difficult or impossible. However, the method takes advantage of linearization points if they are given. The method is based on refinement checking of finite-state systems specified as concurrent processes with shared variables. To tackle state space explosion, we develop and apply symmetry reduction, dynamic partial order reduction, and a combination of both for refinement checking. We have built the method into the PAT model checker, and used PAT to automatically check a variety of implementations of concurrent objects, including the first algorithm for scalable nonzero indicators. Our system is able to find all known and injected bugs in these implementations.
Yang Liu 0003, Wei Chen 0013, Yanhong A. Liu, Jun Sun 0001, Shao Jie Zhang, Jin Song Dong 0001
IEEE Trans. Software Eng.5
2011 On Combining State Space Reductions with Global Fairness Assumptions
Shao Jie Zhang, Jun Sun 0001, Jun Pang 0001, Yang Liu 0003, Jin Song Dong 0001
FM1
2011 Scalable automatic linearizability checking
abstract
Concurrent data structures are widely used but notoriously difficult to implement correctly. Linearizability is one main correctness criterion of concurrent data structure algorithms. It guarantees that a concurrent data structure appears as a sequential one to users. Unfortunately, linearizability is challenging to verify since a subtle bug may only manifest in a small portion of numerous thread interleavings. Model checking is therefore a potential primary candidate. However, current approaches of model checking linearizability suffer from severe state space explosion problem and are thus restricted in handling few threads and/or operations. This paper describes a scalable, fully automatic and general linearizability checking method based on [16] by incorporating symmetry and partial order reduction techniques. Our insights emerged from the observation that the similarity of threads using concurrent data structures causes model checking to generate large redundant equivalent portions of the state space, and the loose coupling of threads causes it to explore lots of unnecessary transition execution orders. We prove that symmetry reduction and partial order reduction can be combined in our approach and integrate them into the model checking algorithm. We demonstrate its efficiency using a number of real-world concurrent data structure algorithms.
Shao Jie Zhang
ICSE1
2011 Graph-based detection of library API imitations
abstract
It has been a common practice nowadays to employ third-party libraries in software projects. Software libraries encapsulate a large number of useful, well-tested and robust functions, so that they can help improve programmers' productivity and program quality. To interact with libraries, programmers only need to invoke Application Programming Interfaces (APIs) exported from libraries. However, programmers do not always use libraries as effectively as expected in their application development. One commonly observed phenomenon is that some library behaviors are re-implemented by client code. Such re-implementation, or imitation, is not just a waste of resource and energy, but its failure to abstract away similar code also tends to make software error-prone. In this paper, we propose a novel approach based on trace subsumption relation of data dependency graphs to detect imitations of library APIs for achieving better software maintainability. Furthermore, we have implemented a prototype of this approach and applied it to ten large real-world open-source projects. The experiments show 313 imitations of explicitly imported libraries with high precision average of 82%, and 116 imitations of static libraries with precision average of 75%.
Chengnian Sun, Siau-Cheng Khoo, Shao Jie Zhang
ICSM3
2009 Formal Verification of Scalable NonZero Indicators
Shao Jie Zhang, Yang Liu 0003, Jun Sun 0001, Jin Song Dong 0001, Wei Chen 0013, Yanhong A. Liu
SEKE1