Abstract | ||
---|---|---|
Database-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. We evaluated DBScribe in a study with 52 participants analyzing generated documentation for database-related methods in five open-source DCAs. Additionally, we evaluated the descriptions generated by DBScribe on two commercial DCAs involving original developers. The results for the studies involving open-source and commercial DCAs demonstrate that generated descriptions are accurate and useful while understanding database usages and constraints, in particular during maintenance tasks. |
Year | DOI | Venue |
---|---|---|
2016 | 10.1145/2931037.2931072 | ISSTA |
Field | DocType | Citations |
Computer science,Source code,Database schema,Natural language,Documentation,Schema (psychology),Database,Table (database) | Conference | 9 |
PageRank | References | Authors |
0.44 | 40 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Mario Linares Vásquez | 1 | 1122 | 43.85 |
Boyang Li | 2 | 82 | 12.61 |
Christopher Vendome | 3 | 108 | 6.20 |
Denys Poshyvanyk | 4 | 4866 | 165.42 |