More Effective JavaScript Breaking Change Detection via Dynamic Object Relation Graph
This program is tentative and subject to change.
JavaScript libraries are characterized by their widespread use, frequent code changes, and a high tolerance for backward incompatible changes. Awareness of such breaking changes can help developers adapt to version updates and avoid negative impacts. Several tools have been targeted to or can be used to detect breaking change detection in the JavaScript community. However, these tools detect breaking changes using different ways, and there are currently no systematic reviews of these approaches. From a preliminary study on popular JavaScript libraries, we find that existing approaches, including simple regression testing, model-based testing and type differencing cannot detect many breaking changes but can produce plenty of false positives. We discuss the reasons for missing breaking changes and producing false positives.
Based on the insights from our findings, we propose a new approach named Diagnose that iteratively constructs an object relation graph based on API exploration and forced execution-based type analysis. Diagnose then refine the graphs and reconstruct the graphs in the newer versions of the libraries to detect breaking changes. By evaluating approach on the same set of libraries used in the empirical study, we find that Diagnose can detect much more breaking changes (60.2%) and produce fewer false positives. Therefore, Diagnose is suitable for practical use.
This program is tentative and subject to change.
Fri 27 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30 | |||
11:00 25mTalk | Fixing Outside the Box: Uncovering Tactics for Open-Source Security Issue Management Research Papers Lyuye Zhang Nanyang Technological University, Wu Jiahui , Chengwei Liu Nanyang Technological University, Kaixuan Li East China Normal University; Nanyang Technological University, Xiaoyu Sun Australian National University, Australia, Lida Zhao Nanyang Technological University, Chong Wang Nanyang Technological University, Yang Liu Nanyang Technological University | ||
11:25 25mTalk | More Effective JavaScript Breaking Change Detection via Dynamic Object Relation Graph Research Papers Dezhen Kong Zhejiang University, Jiakun Liu Singapore Management University, Chao Ni Zhejiang University, David Lo Singapore Management University, Lingfeng Bao Zhejiang University | ||
11:50 25mTalk | Copy-and-Paste? Identifying EVM-Inequivalent Code Smells in Multi-chain Reuse Contracts Research Papers Zexu Wang Sun Yat-sen University, Jiachi Chen Sun Yat-sen University, Tao Zhang Macau University of Science and Technology, Yu Zhang Harbin Institute of Technology, Weizhe Zhang Harbin Institute of Technology, Yuming Feng Peng Cheng Laboratory, Zibin Zheng Sun Yat-sen University | ||
12:15 15mDemonstration | LiPSBOMaker: A Prototype of Multi-Stage Linux Distribution Package SBOM Generator Tool Demonstrations Tong Qiu , Jiaxin Zhu Institute of Software at Chinese Academy of Sciences, Wei Chen Institute of Software at Chinese Academy of Sciences, Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences |