DynaMine: finding common error patterns by mining software revision histories
By Benjamin Livshits, Thomas Zimmermann. ESEC/FSE-13, 2005
398 citations recorded by the source corpus.
Subfields: Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/fe02922aec81016e1ae1e11cfa69b8408baa7d4e
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
- Charles Sutton
- Jaroslav M. Fowkes
- Premkumar T. Devanbu
- Jiawei Han
- Jian Pei
- Miltiadis Allamanis
- Philip S. Yu
- Sunghun Kim
In Software
- Charles Sutton
- Jaroslav M. Fowkes
- Sriram K. Rajamani
- Premkumar T. Devanbu
- Benjamin Livshits
- Lin Tan
- Sunghun Kim
- Dana Movshovitz-Attias
Citations in the corpus
- An empirical study on the evolution of design patterns (2007, background): “Historical co-change analysis has provided new opportunities for a number of issues: predict change propagation [24, 25], observe clone [12, 15] and crosscutting concern [5] evolution, identify crosscutting concerns [4, 7], detect of logical coupling between modules [10], find common error patterns ”
- DeepDelta: learning to repair compilation errors (2019, methodology): “Liveshits and Zimmerman [26] propose a technique for discovering API usage patterns through association rule mining of code histories of two Java projects.”
- Merlin: specification inference for explicit information flow problems (2009, methodology): “DynaMine: Finding common error patterns by mining software revision histories.”
- Classifying Software Changes: Clean or Buggy? (2008, background): “Livshits and Zimmermann combine software repository mining and dynamic analysis to discover common use patterns and code patterns that are likely errors in Java applications [25].”
- Bugram: Bug detection with n-gram language models (2016, methodology): “Rule-based bug detection approaches infer likely programming rules from source code [1, 4, 6, 8, 23, 24, 42, 45, 46, 54], version histories [4, 19, 53], and source code comments [43,44].”
- On the naturalness of software (2012, background): “Many papers can be found in MSR conference series at ICSE, and representative works include mining API usages [22, 23], patterns of errors [24, 25], topic extraction [26], guiding changes [27] and several others.”
- MAPO: Mining and Recommending API Usage Patterns (2009, neutral): “Some approaches [19] [20] [24] [37] mine association rules among method calls.”
- Parameter-free probabilistic API mining across GitHub (2015, background): “Other important but distinct data mining problems that are related to API usage include mining preconditions of API methods [27], and mining code changes [23, 26].”
- Understanding and detecting real-world performance bugs (2012, background): “Tools that automatically infer functional correctness rules [13, 30, 33] may not be suitable for efficiency rules, because rule violations are not rare, as shown in Table 4.”
- What would other programmers do: suggesting solutions to error messages (2010, methodology): “HelpMeOut is influenced by past work on mining source code repositories retrospectively for bug finding [19,24].”
- GPLAG: detection of software plagiarism by program dependence graph analysis (2006, methodology): “apply frequent itemset mining algorithms to software revision history, which uncovers programming rules that developers are expected to conform to [16].”
- Intelligent Code Completion with Bayesian Networks (2015, neutral): “DynaMine [Livshits and Zimmermann 2005] uses check-ins extracted from the re-vision history of a project to learn about calls that are introduced together.”