Blogs (1) >>
ICSE 2019
Sat 25 - Fri 31 May 2019 Montreal, QC, Canada
Thu 30 May 2019 14:20 - 14:40 at Duluth - Dependencies Chair(s): Danny Weyns

Java is one of the most widely used programming languages. However, the absence of explicit support for architectural constructs, such as software components, in the programming language itself has prevented software developers from achieving the many benefits that come with architecture-based development. To address this issue, Java 9 has introduced the Java Platform Module System (JPMS), resulting in the first instance of encapsulation of modules with rich software architectural interfaces added to a mainstream programming language. The primary goal of JPMS is to construct and maintain large applications efficiently-as well as improve the encapsulation, security, and maintainability of Java applications in general and the JDK itself. A challenge, however, is that module declarations do not necessarily reflect actual usage of modules in an application, allowing developers to mistakenly specify inconsistent dependencies among the modules. In this paper, we formally define 8 inconsistent modular dependencies that may arise in Java-9 applications. We also present Darcy, an approach that leverages these definitions and static program analyses to automatically (1) detect the specified inconsistent dependencies within Java applications and (2) repair those identified inconsistencies. The results of our experiments, conducted over 38 open-source Java-9 applications, indicate that architectural inconsistencies are widespread and demonstrate the benefits of Darcy in automated detection and repair of these inconsistencies.

Thu 30 May

Displayed time zone: Eastern Time (US & Canada) change

14:00 - 15:30
DependenciesTechnical Track / Papers / Demonstrations at Duluth
Chair(s): Danny Weyns KU Leuven
14:00
20m
Talk
ENRE: A Tool Framework for Extensible eNtity Relation ExtractionDemos
Demonstrations
Wuxia Jin Xi'an Jiaotong University, Yuanfang Cai Drexel University, Rick Kazman University of Hawai‘i at Mānoa, Qinghua Zheng MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Di Cui Xi'an Jiaotong University, Ting Liu MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China
14:20
20m
Talk
Detection and Repair of Architectural Inconsistencies in JavaArtifacts AvailableArtifacts Evaluated ReusableTechnical Track
Technical Track
Negar Ghorbani University of California, Irvine, Joshua Garcia University of California, Irvine, Sam Malek University of California, Irvine
14:40
20m
Talk
Can I Have a Stack Trace to Examine the Dependency Conflict Issue?Technical Track
Technical Track
Ying Wang Northeastern University, China, Ming Wen The Hong Kong University of Science and Technology, Rongxin Wu Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Zhenwei Liu Northeastern University, China, Shin Hwei Tan Southern University of Science and Technology, Zhiliang Zhu Northeastern University, China, Hai Yu Northeastern University, China, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology
15:00
20m
Talk
Investigating the Impact of Multiple Dependency Structures on Software DefectsTechnical Track
Technical Track
Di Cui Xi'an Jiaotong University, Ting Liu MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Yuanfang Cai Drexel University, Qinghua Zheng MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Qiong Feng Drexel University, Wuxia Jin Xi'an Jiaotong University, Jiaqi Guo Xi'an Jiaotong University, Yu Qu Xi'an Jiaotong University
15:20
10m
Talk
Discussion Period
Papers