What You Always Wanted to Know About Datalog (And Never Dared to Ask)
IEEE Transactions on Knowledge and Data Engineering
Arranging language features for more robust pattern-based crosscuts
Proceedings of the 2nd international conference on Aspect-oriented software development
Navigating and querying code without getting lost
Proceedings of the 2nd international conference on Aspect-oriented software development
Using Development History Sticky Notes to Understand Software Architecture
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
Characterizing the Evolution of Class Hierarchies
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
DynaMine: finding common error patterns by mining software revision histories
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
SCQL: a formal model and a query language for source control repositories
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
CodeQuest: querying source code with datalog
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modeling history to analyze software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Mining a Change-Based Software Repository
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Keynote Address: .QL for Source Code Analysis
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Change-oriented software engineering
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
SpyWare: a change-aware development toolset
Proceedings of the 30th international conference on Software engineering
Forward chaining in HALO: An implementation strategy for history-based logic pointcuts
Computer Languages, Systems and Structures
Predicting faults using the complexity of code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Co-evolving code and design with intensional views
Computer Languages, Systems and Structures
JQuery: a generic code browser with a declarative configuration language
PADL'06 Proceedings of the 8th international conference on Practical Aspects of Declarative Languages
Experiments with pro-active declarative meta-programming
IWST '09 Proceedings of the International Workshop on Smalltalk Technologies
Hi-index | 0.00 |
The version history of a software system contains a wealth of information that can assist developers in their daily implementation and maintenance tasks. By reasoning over the role of certain code entities in previous versions of the system, developers can better understand their current state, assess the required maintenance and avoid making the same mistakes over and over again. Unfortunately, current approaches do not offer a means to easily extract specific information about the source code from such a version history. In this paper we present Time Warp, a library of logic predicates that builds on the SOUL language and the FAMIX and Hismo meta-models and that allows writing queries about the history of a system. By means of a number of concrete examples, we demonstrate how our approach can be used to express interesting queries over the version history of a system.