Retrieving Data Constraint Implementations Using Fine-Grained Code Patterns
Juan Manuel Florez, Jonathan Perry, Shiyi Wei, Andrian Marcus
Abstract
Business rules are an important part of the requirements of software systems that are meant to support an organization. These rules describe the operations, definitions, and constraints that apply to the organization. Within the software system, business rules are often translated into constraints on the values that are required or allowed for data, called data constraints. Business rules are subject to frequent changes, which in turn require changes to the corresponding data constraints in the software. The ability to efficiently and precisely identify where data constraints are implemented in the source code is essential for performing such necessary changes. In this paper, we introduce Lasso, the first technique that automatically retrieves the method and line of code where a given data constraint is enforced. Lasso is based on traceability link recovery approaches and leverages results from recent research that identified line-of-code level implementation patterns for data constraints. We implement three versions of Lasso that can retrieve data constraint implementations when they are implemented with any one of 13 frequently occurring patterns. We evaluate the three versions on a set of 299 data constraints from 15 real-world Java systems, and find that they improve method-level link recovery by 30%, 70%, and 163%, in terms of true positives within the first 10 results, compared to their text-retrieval-based baseline. More importantly, the Lasso variants correctly identify the line of code implementing the constraint inside the methods for 68% of the 299 constraints. CCS CONCEPTS • Software and its engineering → Software evolution; Design patterns; Requirements analysis; Software maintenance tools.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext cc8a33b5-43ee-465b-a163-eae9927b6d28Cited by top-tier papers2
- Verifying Data Constraint Equivalence in FinTech SystemsChengpeng Wang, Gang Fan, Peisen Yao, Fuxiong Pan et al.ICSE 2023 · 4 citations
- DCLINK: Bridging Data Constraint Changes and Implementations in FinTech SystemsWensheng Tang, Chengpeng Wang, Peisen Yao, Rongxin Wu et al.ASE 2023 · 1 citation
Builds on2
- Traceability Transformed: Generating more Accurate Links with Pre-Trained BERT ModelsJinfeng Lin, Yalin Liu, Qingkai Zeng, Meng Jiang et al.ICSE 2021 · 124 citations
- Managing data constraints in database-backed web applicationsJunwen Yang, Utsav Sethi, Cong Yan, Alvin Cheung et al.ICSE 2020 · 9 citations
Related papers
- LiSSA: Toward Generic Traceability Link Recovery Through Retrieval- Augmented GenerationDominik Fuchß, Tobias Hey, Jan Keim, Haoyu Liu et al.ICSE 2025 · 8 citations
- An empirical study on API parameter rulesHao Zhong, Na Meng, Zexuan Li, Li JiaICSE 2020 · 16 citations
- API-Misuse Detection Driven by Fine-Grained API-Constraint Knowledge GraphXiaoxue Ren, Xinyuan Ye, Zhenchang Xing, Xin Xia et al.ASE 2020 · 62 citations
- Data Constraint Mining for Automatic Reconciliation Scripts GenerationTianxiao Wang, Chen Zhi, Xiaoqun Zhou, Jinjie Wu et al.ISSTA 2023 · 1 citation
- Leveraging Application Data Constraints to Optimize Database-Backed Web ApplicationsXiaoxuan Liu, Shuxian Wang, Mengzhu Sun, Sicheng Pan et al.VLDB 2023 · 13 citations
