Demo Data from EDBT 2026 / reviewers in the wild / expert
Huiqing Li
dblp:06/1167
· DBLP profile ↗
16ranked-venue papers
10as first author
0since 2021 · last 2017
0000-0003-2559-0804ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 12 · 10 first-authorArtificial intelligence and machine learning · 3Systems, architecture and hardware · 1Databases, data management, data science and information retrieval · 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.
| Artificial intelligence
1 paper |
Learning theory · 75% Image recognition and object detection · 25% | |
| Software engineering, system software, and programming languages
2 papers |
Software maintenance and evolution · 54% Runtime systems and virtual machines · 46% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Distributed systems · 100% | |
| Databases, data mining, and information retrieval
1 paper |
Data mining · 100% | |
| Theoretical computer science
1 paper |
Mathematical optimization · 100% |
Topics — the 14 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems › distributed programming
actor model |
0.3 | 1 | 2017 | Scaling Reliably: Improving the Scalability of the Erlang Distributed Actor Platform · ACM Trans. Program. Lang. Syst. 2017 |
Distributed systems › distributed system dependability
reliable distributed systems |
0.3 | 1 | 2017 | Scaling Reliably: Improving the Scalability of the Erlang Distributed Actor Platform · ACM Trans. Program. Lang. Syst. 2017 |
Data mining
clustering |
0.2 | 1 | 2015 | Subspace Clustering Using Log-determinant Rank Approximation · KDD 2015 |
Data mining › clustering › high-dimensional clustering
subspace clustering |
0.2 | 1 | 2015 | Subspace Clustering Using Log-determinant Rank Approximation · KDD 2015 |
Mathematical optimization › continuous optimization › matrix optimization
low-rank optimization |
0.2 | 1 | 2015 | Subspace Clustering Using Log-determinant Rank Approximation · KDD 2015 |
Mathematical optimization
nonconvex optimization |
0.2 | 1 | 2015 | Subspace Clustering Using Log-determinant Rank Approximation · KDD 2015 |
Computer vision › Image recognition and object detection
image classification |
0.2 | 1 | 2014 | A Minimax Framework for Classification with Applications to Images and High Dimensional Data · IEEE Trans. Pattern Anal. Mach. Intell. 2014 |
Machine learning › Learning theory
minimax analysis |
0.2 | 1 | 2014 | A Minimax Framework for Classification with Applications to Images and High Dimensional Data · IEEE Trans. Pattern Anal. Mach. Intell. 2014 |
Machine learning › Learning theory › classification › classification theory
minimax classification |
0.2 | 1 | 2014 | A Minimax Framework for Classification with Applications to Images and High Dimensional Data · IEEE Trans. Pattern Anal. Mach. Intell. 2014 |
Machine learning › Learning theory › classification
multiclass classification |
0.2 | 1 | 2014 | A Minimax Framework for Classification with Applications to Images and High Dimensional Data · IEEE Trans. Pattern Anal. Mach. Intell. 2014 |
Software maintenance and evolution › software reengineering › software modernization › software migration
API migration |
0.1 | 1 | 2012 | Automated API migration in a user-extensible refactoring tool for Erlang programs · ASE 2012 |
Software maintenance and evolution
refactoring |
0.1 | 1 | 2012 | Automated API migration in a user-extensible refactoring tool for Erlang programs · ASE 2012 |
Data mining › clustering › image clustering
face clustering |
0.1 | 1 | 2015 | Subspace Clustering Using Log-determinant Rank Approximation · KDD 2015 |
Software maintenance and evolution › refactoring
refactoring tools |
0.0 | 1 | 2012 | Automated API migration in a user-extensible refactoring tool for Erlang programs · ASE 2012 |
Methods — techniques the papers use, named apart from their topics
partitioning · 0.6chaos monkey testing · 0.6low-rank representation · 0.4log-determinant rank approximation · 0.4augmented lagrangian multipliers · 0.2augmented lagrangian multiplier · 0.2ridge regression · 0.2regression model · 0.2lasso · 0.2kernel methods · 0.2elastic net · 0.2template-based transformation · 0.1rule-based transformation · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Scaling Reliably: Improving the Scalability of the Erlang Distributed Actor PlatformabstractDistributed actor languages are an effective means of constructing scalable reliable systems, and the Erlang programming language has a well-established and influential model. While the Erlang model conceptually provides reliable scalability, it has some inherent scalability limits and these force developers to depart from the model at scale. This article establishes the scalability limits of Erlang systems and reports the work of the EU RELEASE project to improve the scalability and understandability of the Erlang reliable distributed actor model. We systematically study the scalability limits of Erlang and then address the issues at the virtual machine, language, and tool levels. More specifically: (1) We have evolved the Erlang virtual machine so that it can work effectively in large-scale single-host multicore and NUMA architectures. We have made important changes and architectural improvements to the widely used Erlang/OTP release. (2) We have designed and implemented Scalable Distributed (SD) Erlang libraries to address language-level scalability issues and provided and validated a set of semantics for the new language constructs. (3) To make large Erlang systems easier to deploy, monitor, and debug, we have developed and made open source releases of five complementary tools, some specific to SD Erlang. Throughout the article we use two case studies to investigate the capabilities of our new technologies and tools: a distributed hash table based Orbit calculation and Ant Colony Optimisation (ACO). Chaos Monkey experiments show that two versions of ACO survive random process failure and hence that SD Erlang preserves the Erlang reliability model. While we report measurements on a range of NUMA and cluster architectures, the key scalability experiments are conducted on the Athos cluster with 256 hosts (6,144 cores). Even for programs with no global recovery data to maintain, SD Erlang partitions the network to reduce network traffic and hence improves performance of the Orbit and ACO benchmarks above 80 hosts. ACO measurements show that maintaining global recovery data dramatically limits scalability; however, scalability is recovered by partitioning the recovery data. We exceed the established scalability limits of distributed Erlang, and do not reach the limits of SD Erlang for these benchmarks at this scale (256 hosts, 6,144 cores). Philip W. Trinder, Natalia Chechina, Nikolaos S. Papaspyrou, Konstantinos Sagonas, Simon J. Thompson, Stephen Adams 0002, Stavros Aronis, Robert Baker 0001, Eva Bihari, Olivier Boudeville, Francesco Cesarini, Maurizio Di Stefano, Sverker Eriksson, Viktória Fördós, Amir Ghaffari, Aggelos Giantsios, Rickard Green, Csaba Hoch, David Klaftenegger, Huiqing Li, Kenneth Lundin, Kenneth MacKenzie, Katerina Roukounaki, Yiannis Tsiouris, Kjell Winblad |
ACM Trans. Program. Lang. Syst. | 20 |
| 2016 | Improving the network scalability of ErlangabstractAs the number of cores grows in commodity architectures so does the likelihood of failures. A distributed actor model potentially facilitates the development of reliable and scalable software on these architectures. Key components include lightweight processes which ‘share nothing’ and hence can fail independently. Erlang is not only increasingly widely used, but the underlying actor model has been a beacon for programming language design, influencing for example Scala, Clojure and Cloud Haskell. While the Erlang distributed actor model is inherently scalable, we demonstrate that it is limited by some pragmatic factors. We address two network scalability issues here: globally registered process names must be updated on every node (virtual machine) in the system, and any Erlang nodes that communicate maintain an active connection. That is, there is a fully connected O ( n 2 ) network of n nodes. We present the design, implementation, and initial evaluation of a conservative extension of Erlang — Scalable Distributed (SD) Erlang. SD Erlang partitions the global namespace and connection network using s_groups. An s_group is a set of nodes with its own process namespace and with a fully connected network within the s_group, but only individual connections outside it. As a node may belong to more than one s_group it is possible to construct arbitrary connection topologies like trees or rings. We present an operational semantics for the s_group functions, and outline the validation of conformance between the implementation and the semantics using the QuickCheck automatic testing tool. Our preliminary evaluation in comparison with distributed Erlang shows that SD Erlang dramatically improves network scalability even if the number of global operations is tiny (0.01%). Moreover, even in the absence of global operations the reduced connection maintenance overheads mean that SD Erlang scales better beyond 80 nodes (1920 cores). Natalia Chechina, Huiqing Li, Amir Ghaffari, Simon J. Thompson, Philip W. Trinder |
J. Parallel Distributed Comput. | 2 |
| 2015 | Subspace Clustering Using Log-determinant Rank ApproximationabstractA number of machine learning and computer vision problems, such as matrix completion and subspace clustering, require a matrix to be of low-rank. To meet this requirement, most existing methods use the nuclear norm as a convex proxy of the rank function and minimize it. However, the nuclear norm simply adds all nonzero singular values together instead of treating them equally as the rank function does, which may not be a good rank approximation when some singular values are very large. To reduce this undesirable weighting effect, we use a log-determinant function as a non-convex rank approximation which reduces the contributions of large singular values while keeping those of small singular values close to zero. We apply the method of augmented Lagrangian multipliers to optimize this non-convex rank approximation-based objective function and obtain closed-form solutions for all subproblems of minimizing different variables alternatively. The log-determinant low-rank optimization method is used to solve subspace clustering problem, for which we construct an affinity matrix based on the angular information of the low-rank representation to enhance its separability property. Extensive experimental results on face clustering and motion segmentation data demonstrate the effectiveness of the proposed method. Chong Peng 0001, Zhao Kang 0001, Huiqing Li, Qiang Shawn Cheng |
KDD | 3 |
| 2015 | Safe Concurrency Introduction through SlicingabstractTraditional refactoring is about modifying the structure of existing code without changing its behaviour, but with the aim of making code easier to understand, modify, or reuse. In this paper, we introduce three novel refactorings for retrofitting concurrency to Erlang applications, and demonstrate how the use of program slicing makes the automation of these refactorings possible. Huiqing Li, Simon J. Thompson |
PEPM | 1 |
| 2014 | Automating property-based testing of evolving web servicesabstractWeb services are the most widely used service technology that drives the Service-Oriented Computing~(SOC) paradigm. As a result, effective testing of web services is getting increasingly important. In this paper, we present a framework and toolset for testing web services and for evolving test code in sync with the evolution of web services. Our approach to testing web services is based on the Erlang programming language and QuviQ QuickCheck, a property-based testing tool written in Erlang, and our support for test code evolution is added to Wrangler, the Erlang refactoring tool. Huiqing Li, Simon J. Thompson, Pablo Lamela Seijas, Miguel Angel Francisco |
PEPM | 1 |
| 2014 | A Minimax Framework for Classification with Applications to Images and High Dimensional DataabstractThis paper introduces a minimax framework for multiclass classification, which is applicable to general data including, in particular, imagery and other types of high-dimensional data. The framework consists of estimating a representation model that minimizes the fitting errors under a class of distortions of interest to an application, and deriving subsequently categorical information based on the estimated model. A variety of commonly used regression models, including lasso, elastic net and ridge regression, can be regarded as special cases that correspond to specific classes of distortions. Optimal decision rules are derived for this classification framework. By using kernel techniques the framework can account for nonlinearity in the input space. To demonstrate the power of the framework we consider a class of signal-dependent distortions and build a new family of classifiers as new special cases. This family of new methods-minimax classification with generalized multiplicative distortions-often outperforms the state-of-the-art classification methods such as the support vector machine in accuracy. Extensive experimental results on images, gene expressions and other types of data verify the effectiveness of the proposed framework. Qiang Shawn Cheng, Hongbo Zhou 0001, Jie Cheng 0002, Huiqing Li |
IEEE Trans. Pattern Anal. Mach. Intell. | 4 |
| 2013 | Refactoring tools for functional languagesabstractAbstract Refactoring is the process of changing the design of a program without changing what it does. Typical refactorings, such as function extraction and generalisation, are intended to make a program more amenable to extension, more comprehensible and so on. Refactorings differ from other sorts of program transformation in being applied to source code, rather than to a ‘core’ language within a compiler, and also in having an effect across a code base, rather than to a single function definition, say. Because of this, there is a need to give automated support to the process. This paper reflects on our experience of building tools to refactor functional programs written in Haskell (HaRe) and Erlang (Wrangler). We begin by discussing what refactoring means for functional programming languages, first in theory, and then in the context of a larger example. Next, we address system design and details of system implementation as well as contrasting the style of refactoring and tooling for Haskell and Erlang. Building both tools led to reflections about what particular refactorings mean, as well as requiring analyses of various kinds, and we discuss both of these. We also discuss various extensions to the core tools, including integrating the tools with test frameworks; facilities for detecting and eliminating code clones; and facilities to make the systems extensible by users. We then reflect on our work by drawing some general conclusions, some of which apply particularly to functional languages, while many others are of general value. Simon J. Thompson, Huiqing Li |
J. Funct. Program. | 2 |
| 2012 | A Domain-Specific Language for Scripting Refactorings in Erlang
Huiqing Li, Simon J. Thompson |
FASE | 1 |
| 2012 | Automated API migration in a user-extensible refactoring tool for Erlang programsabstractWrangler is a refactoring and code inspection tool for Erlang programs. Apart from providing a set of built-in refactorings and code inspection functionalities, Wrangler allows users to define refactorings, code inspections, and general program transformations for themselves to suit their particular needs. These are defined using a template- and rule-based program transformation and analysis framework built into Wrangler. Huiqing Li, Simon J. Thompson |
ASE | 1 |
| 2011 | Incremental Clone Detection and Elimination for Erlang Programs
Huiqing Li, Simon J. Thompson |
FASE | 1 |
| 2010 | Similar Code Detection and Elimination for Erlang Programs
Huiqing Li, Simon J. Thompson |
PADL | 1 |
| 2010 | Refactoring Support for Modularity Maintenance in ErlangabstractLow coupling between modules and high cohesion inside each module are key features of good software architecture. Systems written in modern programming languages generally start with some reasonably well-designed module structure, however with continuous feature additions, modifications and bug fixes, software modularity gradually deteriorates. So, there is a need for incremental improvements to modularity to avoid the situation when the structure of the system becomes too complex to maintain. We demonstrate how Wrangler, a general-purpose refactoring tool for Erlang, can be used to maintain and improve the modularity of programs written in Erlang without dramatically changing the existing module structure. We identify a set of "modularity smells", and show how they can be detected by Wrangler and removed by way of a variety of refactorings implemented in Wrangler. Validation of the approach and usefulness of the tool are demonstrated by case studies. Huiqing Li, Simon J. Thompson |
SCAM | 1 |
| 2009 | Clone detection and removal for Erlang/OTP within a refactoring environmentabstractA well-known bad code smell in refactoring and software maintenance is duplicated code, or code clones. A code clone is a code fragment that is identical or similar to another. Unjustified code clones increase code size, make maintenance and comprehension more difficult, and also indicate design problems such as lack of encapsulation or abstraction. Huiqing Li, Simon J. Thompson |
PEPM | 1 |
| 2008 | Tool support for refactoring functional programsabstractWe demonstrate the Haskell Refactorer, HaRe, and the Erlang Refactorer, Wrangler, as examples of fully-functional refactoring tools for functional programming languages. HaRe and Wrangler are designed to handle multi-module projects in complete languages: Haskell 98 and Erlang/OTP. They are embedded in Emacs (and gVim) and respect programmer layout styles. Huiqing Li, Simon J. Thompson |
PEPM | 1 |
| 2004 | A naiive bayes learning based website reconfiguration systemabstractThe continuous and sharp growth of web sites in terms of size and complexity has made improving the website organization to facilitate users' navigation something of an emergency. To address this problem, in this paper we propose a website reconfiguration system using the machine learning approach. First, a Naive Bayes Classifier is trained and then applied to identify each page in a web site as important or unimportant in terms of fulfilling visitors' information needs. For those important pages, we check the reasonableness of their locations, which is measured by the average number of hops needed to reach them during visitor sessions. Those important but difficult reach pages are considered for reconfiguration, which is done by either automatically moving them to some level closer to the visitors' starting point, making it easier for users to access them, or presenting webmasters with a list of suggestions. We also propose a formula to evaluate the "global structure" of a web site, and use it to examine the effect of our system on improving website design. Huiqing Li, Xiumei Jia |
ICMLA | 2 |
| 2003 | Tool support for refactoring functional programs
Huiqing Li, Claus Reinke, Simon J. Thompson |
Haskell | 1 |