Requirements management plays an important role in software development, but a large number of stakeholders makes traditional elicitation, analysis, validation, and specification extremely costly and slow. A recent trend is to collect requirements by crowdsourcing, which lowers the cost of elicitation and reduces developers' effort. Obtaining high-quality requirements from crowd users remains very challenging, and much work is still needed to turn crowdsourced requests into high-quality requirements. Our group focuses on automating this process through classification, rewriting, and prioritization.
Automatic program repair has long attracted the software engineering, programming languages, formal methods, and systems communities. Neural program repair uses deep learning to build end-to-end models that generate a patch for buggy code. A typical approach has three parts: constructing a code representation, an end-to-end model, and patch generation and ranking. We focus on (1) defining and building high-quality benchmarks for neural program repair; (2) code representations that capture properties of programming languages and of repair; (3) generating and visualizing explanations of repair models; and (4) assessing repair robustness.
Deep learning has been applied successfully to many software engineering tasks. The most widely used supervised methods, however, need large amounts of labeled data that are often hard to obtain, and too little labeled data leads to overfitting. Dependence on labels has become a bottleneck. Self-supervised and unsupervised learning on unlabeled data, which is much easier to collect, is now widely studied in natural language processing, and code pre-trained models have developed quickly as well. We study how to design pre-training tasks that bring in more information about code and transfer to downstream tasks, especially code summarization, code search, code localization, and code generation.
With the advance of artificial intelligence and the release of large judicial datasets, automatic legal judgment prediction has drawn wide attention in both academia and industry. The task is to analyze the facts of a case and, using legal knowledge and judicial logic, predict the judgment, so as to assist judges, litigation, and legal consultation. Chinese LJP focuses on predicting applicable statutes, charges, and prison terms. The main difficulties are how to inject professional legal knowledge, how to make models interpretable, how to handle imbalanced samples, and how to model relations among subtasks. We study the use of event information and the modeling of relations among subtasks and among statutes. Related work has appeared in TASLP, TKDD, ACL, ACML, and PRICAI, and some results have been deployed in the information system of the Tianjin courts.
Ad user targeting retrieves people who are likely to be interested in an advertisement. A shortage of positive examples is a central problem: a new advertiser often has too few clicks to train a robust targeting model. One effective approach assumes that similar ads in the same category share positive users, because people with similar interests click similar ads. Those users can be used to expand the target advertiser's positives, balance the sample, and train a more robust model that raises click-through and conversion rates. We work both on similar-ad recommendation and on few-shot and contrastive learning for user targeting. Related papers have appeared in EMNLP Findings and the Chinese Journal of Computers.
Sentiment analysis is an important topic in natural language processing: it analyzes and processes subjective text that carries emotion. In a broad sense it includes sentiment classification, element extraction, sentiment retrieval, and opinion summarization. In a narrow sense it focuses on classification, which is our main interest. Rhetorical devices have also drawn attention and given rise to figurative language processing. In that area we study hyperbole detection, hyperbole interpretation, and detection that combines several rhetorical devices.
Traditional cloud computing cannot meet many latency-sensitive tasks because of delay in data transfer. Mobile edge computing, which places computation at the network edge near end devices, has become an active paradigm. We study how to offload tasks from mobile devices to nearby edge servers. We consider two kinds of schemes: (1) conventional offloading, which sets an optimization objective and approaches it with heuristics; and (2) intelligent online offloading, which builds an offloading model with AI methods. Topics include minimizing latency, minimizing energy, trading off latency and energy, security and privacy, computing-resource allocation, service caching and placement, and joint optimization.
Federated learning is a distributed machine-learning framework. Its goal is to train a shared model while keeping data private and compliant. In a typical round, data stay on each client; clients train on local data and upload model updates; a central server aggregates them into a global model and sends it back, repeating until the global model converges. Open problems include reducing communication cost and improving training efficiency, coping with unstable devices and links, handling non-identical client datasets, and defending against distributed poisoning. Federated learning can also be used to build robust NLP models without centralizing user data. We study algorithms and applications, including efficient learning under resource constraints, communication optimization and privacy protection, and federated learning for natural language processing.
Business process management studies methods, techniques, and systems for designing, controlling, analyzing, and operating business processes. The processes of interest are large and complex, and may involve many roles, organizations, applications, resources, and kinds of information. We focus on process mining: improving a process from the feedback of its execution, including process discovery, conformance checking, and process enhancement. We also study process similarity and process monitoring. Related papers have appeared in IEEE TSC, Information Sciences, and the Journal of Software.
A blockchain uses a shared, traceable, and tamper-resistant ledger so that parties can transact without having to trust one another. Applications include finance, logistics, healthcare, charity, and courts. We study consortium blockchains for business process management, including (1) a process-oriented consensus mechanism, Proof of Event (PoE); (2) cross-chain execution and recording of business processes; and (3) blockchain-based process monitoring.
The slides below are in Chinese.