EDBT 2026 Demo / reviewers in the wild / expert
Xianghua Deng
dblp:89/3535
· DBLP profile ↗
11ranked-venue papers
6as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 6 first-authorArtificial intelligence and machine learning · 1Applied, 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.
| Software engineering, system software, and programming languages
4 papers |
Program analysis · 42% Program verification · 23% Requirements engineering and software design · 21% | |
| Theoretical computer science
2 papers |
Automated reasoning and model checking · 100% |
Topics — the 12 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
symbolic execution |
0.2 | 2 | 2009 | Sireum/Topi LDP: a lightweight semi-decision procedure for optimizing symbolic execution-based analyses · ESEC/SIGSOFT FSE 2009 Bogor/Kiasan: A k-bounded Symbolic Execution for Checking Strong Heap Properties of Open Systems · ASE 2006 |
Program analysis
constraint solving |
0.1 | 1 | 2009 | Sireum/Topi LDP: a lightweight semi-decision procedure for optimizing symbolic execution-based analyses · ESEC/SIGSOFT FSE 2009 |
Automated reasoning and model checking
satisfiability modulo theories |
0.1 | 1 | 2009 | Sireum/Topi LDP: a lightweight semi-decision procedure for optimizing symbolic execution-based analyses · ESEC/SIGSOFT FSE 2009 |
Requirements engineering and software design › software architecture › component-based software engineering
component-based development |
0.0 | 1 | 2003 | Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003 |
Program verification › modular verification
component-based verification |
0.0 | 1 | 2003 | Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003 |
Requirements engineering and software design › software architecture › component-based software engineering
component model |
0.0 | 1 | 2003 | Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003 |
Requirements engineering and software design
software architecture |
0.0 | 1 | 2003 | Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003 |
Program verification
model checking |
0.0 | 1 | 2002 | Invariant-based specification, synthesis, and verification of synchronization in concurrent programs · ICSE 2002 |
Concurrent programming
synchronization |
0.0 | 1 | 2002 | Invariant-based specification, synthesis, and verification of synchronization in concurrent programs · ICSE 2002 |
Concurrent programming › synchronization
synchronization synthesis |
0.0 | 1 | 2002 | Invariant-based specification, synthesis, and verification of synchronization in concurrent programs · ICSE 2002 |
Automated reasoning and model checking
model checking |
0.0 | 1 | 2006 | Bogor/Kiasan: A k-bounded Symbolic Execution for Checking Strong Heap Properties of Open Systems · ASE 2006 |
Embedded and real-time systems › real-time embedded systems
avionics systems |
0.0 | 1 | 2003 | Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003 |
Methods — techniques the papers use, named apart from their topics
model checking · 0.2domain-specific knowledge · 0.2weakest precondition · 0.1symbolic execution · 0.1semi-decision procedures · 0.1semi-decision procedure · 0.1transition system semantics · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | Efficient and formal generalized symbolic execution
Xianghua Deng, Jooyong Yi, Robby |
Autom. Softw. Eng. | 1 |
| 2012 | An Improved Ant-Based Algorithm for the Degree-Constrained Minimum Spanning Tree ProblemabstractThe degree-constrained minimum spanning tree (DCMST) problem is the problem of finding the minimum cost spanning tree in an edge weighted complete graph such that each vertex in the spanning tree has degree ≤dfor somed≥ 2. The DCMST problem is known to be NP-hard. This paper presents an ant-based algorithm to find low cost degree-constrained spanning trees (DCST). The algorithm employs a set of ants which traverse the graph and identify a set of candidate edges, from which a DCST is constructed. Local optimization algorithms are then used to further improve the DCST. Extensive experiments using 612 problem instances show many improvements over existing algorithms. Thang Nguyen Bui, Xianghua Deng, Catherine M. Zrncic |
IEEE Trans. Evol. Comput. | 2 |
| 2009 | Sireum/Topi LDP: a lightweight semi-decision procedure for optimizing symbolic execution-based analysesabstractAutomated theorem proving techniques such as Satisfiability Modulo Theory (SMT) solvers have seen significant advances in the past several years. These advancements, coupled with vast hardware improvements, have drastic impact on, for example, program verification techniques and tools. The general availability of robust general purpose solvers have reduced a significant engineering overhead when designing and developing program verifiers. However, most solver implementations are designed to be used as a black box, and due to their aim as general purpose solvers, they often miss optimization opportunities that can be done by leveraging domain-specific knowledge. Jason Belt, Robby, Xianghua Deng |
ESEC/SIGSOFT FSE | 3 |
| 2007 | Towards A Case-Optimal Symbolic Execution Algorithm for Analyzing Strong Properties of Object-Oriented ProgramsabstractRecent work has demonstrated that symbolic execution techniques can serve as a basis for formal analysis capable of automatically checking heap-manipulating software components against strong interface specifications. In this paper, we present an enhancement to existing symbolic execution algorithms for object-oriented programs that significantly improves upon the algorithms currently implemented in Bogor/Kiasan and JPF. To motivate and justify the new strategy for handling heap data in our enhanced approach, we present a significant empirical study of the performance of related algorithms and an interesting case counting analysis of the heap shapes that can appear in several widely used Java data structure packages. Xianghua Deng, Robby, John Hatcliff |
SEFM | 1 |
| 2006 | Kiasan: A Verification and Test-Case Generation Framework for Java Based on Symbolic ExecutionabstractBest program practices in software engineering emphasize software components that are loosely coupled and can be independently developed by different vendors. While these approaches improve the process of software development, however, they present a number of challenges involving reasoning about the correctness of individual components as well as their integration. Design-by-contract reasoning offers a promising approach to reason about software components by requiring software contracts that describe the behaviors of the components. This allows one to focus at satisfying the contract of each component, i.e., it allows compositional reasoning. In this paper, we present Kiasan, a technique that combines symbolic execution, model checking, theorem proving, and constraint solving to support design-by-contract reasoning of object-oriented software. There are a number of interesting tradeoffs between Kiasan other approaches such as ESC/Java. While checking in Kiasan is sometime more expensive, Kiasan can check much stronger behavioral properties of object-oriented software including properties/software that makes extensive use of heap-allocated data. In addition, Kiasan naturally generates counter examples, visualization of code effects, and JUnit test cases that are driven by code and user-supplied specifications. We present Kiasan and describe how it is implemented on top of the Bogor framework. Furthermore, we present a case study in which Kiasan is applied to a variety of examples and we discuss insights gained from our experience. Xianghua Deng, Robby, John Hatcliff |
ISoLA | 1 |
| 2006 | Bogor/Kiasan: A k-bounded Symbolic Execution for Checking Strong Heap Properties of Open SystemsabstractThis paper presents Kiasan, a bounded technique to reason about open systems based on a path sensitive, relatively sound and complete symbolic execution instead of the usual compositional reasoning through weakest precondition calculation that summarizes all execution paths. Kiasan is able to check strong heap properties, and it is fully automatic and flexible in terms of its cost and the guarantees it provides. It allows a user-adjustable mixed compositional/non-compositional reasoning and naturally produces error traces as fault evidence. We implemented Kiasan using the Bogor model checking framework and observed that its performance is comparable to ESC/Java on similar scales of problems and behavioral coverage, while providing the ability to check much stronger specifications Xianghua Deng, Jooyong Yi, Robby |
ASE | 1 |
| 2004 | Cadena: An Integrated Development Environment for Analysis, Synthesis, and Verification of Component-Based Systems
Adam Childs, Jesse Greenwald, Venkatesh Prasad Ranganath, Xianghua Deng, Matthew B. Dwyer, John Hatcliff, Georg Jung, Prashant Shanti, Gurdip Singh |
FASE | 4 |
| 2004 | SyncGen: An Aspect-Oriented Framework for Synchronization
Xianghua Deng, Matthew B. Dwyer, John Hatcliff, Masaaki Mizuno |
TACAS | 1 |
| 2003 | Space Reductions for Model Checking Quasi-Cyclic Systems
Matthew B. Dwyer, Robby, Xianghua Deng, John Hatcliff |
EMSOFT | 3 |
| 2003 | Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based SystemsabstractThe use of component models such as Enterprise Java Beans and the CORBA Component Model (CCM) in application development is expanding rapidly. Even in real-time safety/mission-critical domains, component-based development is beginning to take hold as a mechanism for incorporating non-functional aspects such as real-time, quality-of-service, and distribution. To form an effective basis for development of such systems, we believe that support for reasoning about correctness properties of component-based designs is essential. In this paper, we present Cadena - an integrated environment for building and modeling CCM systems. Cadena provides facilities for defining component types using CCM IDL, specifying dependency information and transition System semantics for these types, assembling systems from CCM components, visualizing various dependence relationships between components, specifying and verifying correctness properties of models of CCM systems derived from CCM IDL, component assembly information, and Cadena specifications, and producing CORBA stubs and skeletons implemented in Java. We are applying Cadena to avionics applications built using Boeing's Bold Stroke framework. John Hatcliff, Xianghua Deng, Matthew B. Dwyer, Georg Jung, Venkatesh Prasad Ranganath |
ICSE | 2 |
| 2002 | Invariant-based specification, synthesis, and verification of synchronization in concurrent programsabstractConcurrency is used in modern software systems as a means of addressing performance, availability, and reliability requirements. The collaboration of multiple independently executing components is fundamental to meeting such requirements and such collaboration is realized by synchronizing component execution.Using current technologies developers are faced with a tension between correct synchronization and performance. Developers can be confident when simple forms of synchronization are used, for example, locking all accesses to shared data. Unfortunately, such simple approaches can result in significant run-time overhead, and, in fact, there are many cases in which such simple approaches cannot implement required synchronization policies. Implementing more sophisticated (and less constraining) synchronization policies may improve run-time performance and satisfy synchronization requirements, but fundamental difficulties in reasoning about concurrency make it difficult to assess their correctness.This paper describes an approach to automatically synthesizing complex synchronization implementations from formal high-level specifications. Moreover, the generated coded is designed to be processed easily by software model-checking tools such as Bandera. This enables the generated synchronization solutions to be verified for important system correctness properties. We believe this is an effective approach because the tool-support provided makes it simple to use, it has a solid semantic foundation, it is language independent, and we have demonstrated that it is powerful enough to solve numerous challenging synchronization problems. Xianghua Deng, Matthew B. Dwyer, John Hatcliff, Masaaki Mizuno |
ICSE | 1 |