Demo Data from EDBT 2026 / reviewers in the wild / expert
Boyang Li 0002
dblp:70/1211-2
· DBLP profile ↗
16ranked-venue papers
6as first author
0since 2021 · last 2018
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 12 · 6 first-authorHuman-computer interaction and ubiquitous computing · 2Computer networks · 1Security and privacy · 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 verification · 33% Software maintenance and evolution · 31% Software testing · 22% | |
| Human-computer interaction and pervasive computing
2 papers |
Ubiquitous computing and smart environments · 53% Human-robot interaction · 39% Collaborative and social computing · 8% |
Topics — the 11 heaviest of 13, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Human-robot interaction › robot programming
robot programming interfaces |
0.3 | 1 | 2018 | Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult Novices · CHI 2018 |
Software testing
GUI testing |
0.3 | 1 | 2018 | Automated reporting of GUI design violations for mobile apps · ICSE 2018 |
Ubiquitous computing and smart environments › pervasive displays
ambient display |
0.3 | 1 | 2017 | Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight · CHI 2017 |
Software maintenance and evolution
program comprehension |
0.2 | 1 | 2016 | Documenting database usages and schema constraints in database-centric applications · ISSTA 2016 |
Empirical software engineering
mining software repositories |
0.2 | 1 | 2015 | How do Developers Document Database Usages in Source Code? (N) · ASE 2015 |
Software maintenance and evolution
software documentation |
0.2 | 1 | 2015 | How do Developers Document Database Usages in Source Code? (N) · ASE 2015 |
Program verification › program logic
hoare logic |
0.2 | 1 | 2013 | Inductive invariant generation via abductive inference · OOPSLA 2013 |
Program verification › invariant generation
loop invariant generation |
0.2 | 1 | 2013 | Inductive invariant generation via abductive inference · OOPSLA 2013 |
Program verification › deductive verification
verification condition generation |
0.2 | 1 | 2013 | Inductive invariant generation via abductive inference · OOPSLA 2013 |
Human-robot interaction › human-robot collaboration
collaborative robot |
0.1 | 1 | 2018 | Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult Novices · CHI 2018 |
Collaborative and social computing
workplace collaboration |
0.1 | 1 | 2017 | Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight · CHI 2017 |
Methods — techniques the papers use, named apart from their topics
usability study · 0.3comparative study · 0.3field study · 0.3static analysis · 0.2call-chain propagation · 0.2survey · 0.2repository mining · 0.2quantifier elimination · 0.2backtracking search · 0.2abductive inference · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult NovicesabstractA new wave of collaborative robots designed to work alongside humans is bringing the automation historically seen in large-scale industrial settings to new, diverse contexts. However, the ability to program these machines often requires years of training, making them inaccessible or impractical for many. This paper rethinks what robot programming interfaces could be in order to make them accessible and intuitive for adult novice programmers. We created a block-based interface for programming a one-armed industrial robot and conducted a study with 67 adult novices comparing it to two programming approaches in widespread use in industry. The results show participants using the block-based interface successfully implemented robot programs faster with no loss in accuracy while reporting higher scores for usability, learnability, and overall satisfaction. The contribution of this work is showing the potential for using block-based programming to make powerful technologies accessible to a wider audience. David Weintrop, Afsoon Afzal, Jean Salac, Patrick Francis, Boyang Li 0002, David C. Shepherd, Diana Franklin |
CHI | 5 |
| 2018 | Automated reporting of GUI design violations for mobile appsabstractThe inception of a mobile app often takes form of a mock-up of the Graphical User Interface (GUI), represented as a static image delineating the proper layout and style of GUI widgets that satisfy requirements. Following this initial mock-up, the design artifacts are then handed off to developers whose goal is to accurately implement these GUIs and the desired functionality in code. Given the sizable abstraction gap between mock-ups and code, developers often introduce mistakes related to the GUI that can negatively impact an app's success in highly competitive marketplaces. Moreover, such mistakes are common in the evolutionary context of rapidly changing apps. This leads to the time-consuming and laborious task of design teams verifying that each screen of an app was implemented according to intended design specifications. Kevin Moran, Boyang Li 0002, Carlos Bernal-Cárdenas, Dan Jelf, Denys Poshyvanyk |
ICSE | 2 |
| 2018 | Aiding comprehension of unit test cases and test suites with stereotype-based taggingabstractTechniques to automatically identify the stereotypes of different software artifacts (e.g., classes, methods, commits) were previously presented. Those approaches utilized the techniques to support comprehension of software artifacts, but those stereotype-based approaches were not designed to consider the structure and purpose of unit tests, which are widely used in software development to increase the quality of source code. Moreover, unit tests are different than production code, since they are designed and written by following different principles and workflows. Boyang Li 0002, Christopher Vendome, Mario Linares-Vásquez, Denys Poshyvanyk |
ICPC | 1 |
| 2018 | [Engineering Paper] An IDE for Easy Programming of Simple Robotics TasksabstractMany robotic tasks in small manufacturing sites are quite simple. For example, a pick and place task requires only a few common commands. Unfortunately, the standard languages and programming environments for industrial robots are complex, making even these simple tasks nearly impossible for novices. To enable novices to program simple tasks we created a block-based programming language and environment focused on usability, learnability, and understandability and embedded its programming environment in a state-of-the-art robot simulator. By using this high-fidelity prototype over the course of a year in a case study, a user study, and for countless demonstrations we have gained many concrete insights. In this paper we discuss the details of the language, the design of its programming environment, and concrete insights gained via longitudinal usage. David C. Shepherd, Patrick Francis, David Weintrop, Diana Franklin, Boyang Li 0002, Afsoon Afzal |
SCAM | 5 |
| 2017 | Reducing Interruptions at Work: A Large-Scale Field Study of FlowLightabstractDue to the high number and cost of interruptions at work, several approaches have been suggested to reduce this cost for knowledge workers. These approaches predominantly focus either on a manual and physical indicator, such as headphones or a closed office door, or on the automatic measure of a worker's interruptibilty in combination with a computer-based indicator. Little is known about the combination of a physical indicator with an automatic interruptibility measure and its long-term impact in the workplace. In our research, we developed the FlowLight, that combines a physical traffic-light like LED with an automatic interruptibility measure based on computer interaction data. In a large-scale and long-term field study with 449 participants from 12 countries, we found, amongst other results, that the FlowLight reduced the interruptions of participants by 46%, increased their awareness on the potential disruptiveness of interruptions and most participants never stopped using it. Manuela Züger, Christopher S. Corley, André N. Meyer, Boyang Li 0002, Thomas Fritz 0001, David C. Shepherd, Vinay Augustine, Patrick Francis, Nicholas A. Kraft, Will Snipes |
CHI | 4 |
| 2017 | Automatically detecting integrity violations in database-centric applicationsabstractDatabase-centric applications (DCAs) are widely used by many companies and organizations to perform various control and analytical tasks using large databases. Real-world databases are described by complex schemas that oftentimes contain hundreds of tables consisting of thousands of attributes. However, when software engineers develop DCAs, they may write code that can inadvertently violate the integrity of these databases. Alternatively, business analysts and database administrators can also make errors that lead to integrity violations (semantic bugs). To detect these violations, stakeholders must create assertions that check the validity of the data in the rows of the database tables. Unfortunately, creating assertions is a manual, laborious and error-prone task. Thus, a fundamental problem of testing DCAs is how to find such semantic bugs automatically. We propose a novel solution, namely DACITE, that enables stakeholders to automatically obtain constraints that semantically relate database attributes and code statements using a combination of static analysis of the source code and associative rule mining of the databases. We rely on SAT-solvers to validate if a solution to the combined constraints exists and issue warnings on possible semantic bugs to stakeholders. We evaluated our approach on eight open-source DCAs and our results suggest that semantic bugs can be found automatically with high precision. The results of the study with developers show that warnings produced by DACITE are useful and enable them to find semantic bugs faster. Boyang Li 0002, Denys Poshyvanyk, Mark Grechanik |
ICPC | 1 |
| 2017 | Synthesis of circular compositional program proofs via abduction
Isil Dillig, Thomas Dillig, Boyang Li 0002, Kenneth L. McMillan, Shmuel Sagiv |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2016 | Automatically Documenting Software ArtifactsabstractSoftware artifacts constantly change during evolution and maintenance of software systems. One critical artifact that developers need to be able to maintain during evolution and maintenance of software systems is up-to-date and complete documentation. However, recent studies on the co-evolution of comments and code showed that the comments are rarely maintained or updated when the respective source code is changed. In order to understand developer practices regarding documenting two kinds of software artifacts, unit test cases and database-related operations, we designed two empirical studies both composed of (i) an online survey with contributors of open source projects and (ii) a mining-based analysis of method comments in these projects. Later, motivated by the findings of the studies, we proposed two novel approaches. UnitTestScribe is an approach for automatically documenting test cases, while DBScribe is an approach for automatically documenting test cases. We evaluated our tools by means of an online survey with industrial developers and graduate students. In general, participants indicated that descriptions generated by our tools are complete, concise, and easy to read. Boyang Li 0002 |
ICSME | 1 |
| 2016 | Automatically Documenting Unit Test CasesabstractMaintaining unit test cases is important during the maintenance and evolution of a software system. In particular, automatically documenting these unit test cases can ameliorate the burden on developers maintaining them. For instance, by relying on up-to-date documentation, developers can more easily identify test cases that relate to some new or modified functionality of the system. We surveyed 212 developers (both industrial and open-source) to understand their perspective towards writing, maintaining, and documenting unit test cases. In addition, we mined change histories of C# software systems and empirically found that unit test methods seldom had preceding comments and infrequently had inner comments, and both were rarely modified as those methods were modified. In order to support developers in maintaining unit test cases, we propose a novel approach - UnitTestScribe - that combines static analysis, natural language processing, backward slicing, and code summarization techniques to automatically generate natural language documentation of unit test cases. We evaluated UnitTestScribe on four subject systems by means of an online survey with industrial developers and graduate students. In general, participants indicated that UnitTestScribe descriptions are complete, concise, and easy to read. Boyang Li 0002, Christopher Vendome, Mario Linares-Vásquez, Denys Poshyvanyk, Nicholas A. Kraft |
ICST | 1 |
| 2016 | Documenting database usages and schema constraints in database-centric applicationsabstractDatabase-centric applications (DCAs) usually rely on database operations over a large number of tables and attributes. Understanding how database tables and attributes are used to implement features in DCAs along with the constraints related to these usages is an important component of any DCA’s maintenance. However, manually documenting database related operations and their asynchronously evolving constraints in constantly changing source code is a hard and time-consuming problem. In this paper, we present a novel approach, namely DBScribe, aimed at automatically generating always up-to-date natural language descriptions of database operations and schema constraints in source code methods. DBScribe statically analyzes the code and database schema to detect database usages and then prop- agates these usages and schema constraints through the call-chains implementing database-related features. Finally, each method in these call-chains is automatically documented based on the underlying database usages and constraints. Mario Linares-Vásquez, Boyang Li 0002, Christopher Vendome, Denys Poshyvanyk |
ISSTA | 2 |
| 2016 | Arbitrating Traffic Contention for Power Saving with Multiple PSM ClientsabstractData transmission over WiFi quickly drains the batteries of mobile devices. Although the IEEE 802.11 standards provide power save mode (PSM) to help mobile devices conserve energy, PSM fails to bring expected benefits in many real scenarios. In particular, when multiple PSM mobile devices associate to a single access point (AP), PSM does not work well under transmission contention. Optimizing power saving of multiple PSM clients is a challenging task, because each PSM client expects to complete data transmission early so that it can turn to low power mode. In this paper, we define an energy conserving model to describe the general PSM traffic contention problem. We prove that the optimization of energy saving for multiple PSM clients under constraint is an NPcomplete problem. Following this direction, we propose a solution called harmonious power saving mechanism (HPSM) to address one specific case, in which multiple PSM clients associate to a single AP. In HPSM, we first use a basic sociological concept to define the richness of a PSM client based on the link resource it consumes. Then, we separate these poor PSM clients from rich PSM clients in terms of link resource consumption and favor the former to save power when they face PSM transmission contention. We implement prototypes of HPSM based on the open source projects Mad-wifi and NS-2. Our evaluations show that HPSM can help the poor PSM clients effectively save power while only slightly degrading the rich PSM clients' performance in comparison with the existing PSM solutions. Dachuan Liu, Haining Wang 0001, Gang Zhou 0002, Weizhen Mao, Boyang Li 0002 |
IEEE Trans. Wirel. Commun. | 5 |
| 2015 | How do Developers Document Database Usages in Source Code? (N)abstractDatabase-centric applications (DCAs) usually contain a large number of tables, attributes, and constraints describing the underlying data model. Understanding how database tables and attributes are used in the source code along with the constraints related to these usages is an important component of DCA maintenance. However, documenting database-related operations and their constraints in the source code is neither easy nor common in practice. In this paper, we present a two-fold empirical study aimed at identifying how developers document database usages at source code method level. In particular, (i) we surveyed open source developers to understand their practices on documenting database usages in source code, and (ii) we mined a large set of open source projects to measure to what extent database-related methods are commented and if these comments are updated during evolution. Although 58% of the developers claimed to find value in method comments describing database usages, our findings suggest that 77% of 33K+ methods in 3.1K+ open-source Java projects with database accesses were completely undocumented. Mario Linares-Vásquez, Boyang Li 0002, Christopher Vendome, Denys Poshyvanyk |
ASE | 2 |
| 2014 | Sanitizing and Minimizing Databases for Software Application Test OutsourcingabstractTesting software applications that use nontrivial databases is increasingly outsourced to test centers in order to achieve lower cost and higher quality. Not only do different data privacy laws prevent organizations from sharing this data with test centers because databases contain sensitive information, but also this situation is aggravated by big data - it is time consuming and difficult to anonymize, distribute, and test with large databases. Deleting data randomly often leads to significantly worsened test coverages and fewer uncovered faults, thereby reducing the quality of software applications. We propose a novel approach for Protecting and mInimizing databases for Software TestIng taSks (PISTIS) that both sanitizes and minimizes a database that comes along with an application. PISTIS uses a weight-based data clustering algorithm that partitions data in the database using information obtained using program analysis that describes how this data is used by the application. For each cluster, a centroid object is computed that represents different persons or entities in the cluster, and we use associative rule mining to compute and use constraints to ensure that the centroid objects are representative of the general population of the data in the cluster. Doing so also sanitizes information, since these centroid objects replace the original data to make it difficult for attackers to infer sensitive information. Thus, we reduce a large database to a few centroid objects and we show in our experiments with two applications that test coverage stays within a close range to its original level. Boyang Li 0002, Mark Grechanik, Denys Poshyvanyk |
ICST | 1 |
| 2013 | Inductive invariant generation via abductive inferenceabstractThis paper presents a new method for generating inductive loop invariants that are expressible as boolean combinations of linear integer constraints. The key idea underlying our technique is to perform a backtracking search that combines Hoare-style verification condition generation with a logical abduction procedure based on quantifier elimination to speculate candidate invariants. Starting with true, our method iteratively strengthens loop invariants until they are inductive and strong enough to verify the program. A key feature of our technique is that it is lazy: It only infers those invariants that are necessary for verifying program correctness. Furthermore, our technique can infer arbitrary boolean combinations (including disjunctions) of linear invariants. We have implemented the proposed approach in a tool called HOLA. Our experiments demonstrate that HOLA can infer interesting invariants that are beyond the reach of existing state-of-the-art invariant generation tools. Isil Dillig, Thomas Dillig, Boyang Li 0002, Kenneth L. McMillan |
OOPSLA | 3 |
| 2013 | Synthesis of Circular Compositional Program Proofs via Abduction
Boyang Li 0002, Isil Dillig, Thomas Dillig, Kenneth L. McMillan, Shmuel Sagiv |
TACAS | 1 |
| 2011 | Private Database Search with Sublinear Query Time
Keith B. Frikken, Boyang Li 0002 |
DBSec | 2 |