Samuel W. Flint, Jigyasa Chauhan, and Robert Dyer. 2021. Escaping the Time Pit: Pitfalls and Guidelines for Using Time-Based Git Data. In 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR), 17–19 May 2021. 85--96. DOI: 10.1109/MSR52588.2021.00022. Preprint: arXiv:2103.11339 [cs.SE]. Presentation. Received MSR 2021 Distinguished Paper Award.
Abstract: Many software engineering research papers rely on time-based data (e.g., commit timestamps, issue report creation/update/close dates, release dates). Like most real-world data, however, time-based data is often dirty. To date, there are no studies that quantify how frequently such data is used by the software engineering research community, or investigate sources of and quantify how often such data is dirty. Depending on the research task and method used, including such dirty data could affect the research results. This paper presents the first survey of papers that utilize time-based data, published in the Mining Software Repositories (MSR) conference series. Out of the 690 technical track and data papers published in MSR 2004–2020, we saw at least 35% of papers utilized time-based data. We then used the Boa and Software Heritage infrastructures to help identify and quantify several sources of dirty commit timestamp data. Finally, we provide guidelines/best practices for researchers utilizing time-based data from Git repositories.
Eleanor Quint, Dong Xu, Samuel W. Flint, Stephen Scott, and Matthew Dwyer. 2019. Formal Language Constrained Markov Decision Processes. . Preprint: arXiv:1910.01074 [cs.LG]. Submitted to NeurIPS 2019 Workshop on Safety and Robustness in Decision Making.
Abstract: In order to satisfy safety conditions, an agent may be constrained from acting freely. A safe controller can be designed a priori if an environment is well understood, but not when learning is employed. In particular, reinforcement learned (RL) controllers require exploration, which can be hazardous in safety critical situations. We study the benefits of giving structure to the constraints of a constrained Markov decision process by specifying them in formal languages as a step towards using safety methods from software engineering and controller synthesis. We instantiate these constraints as finite automata to efficiently recognise constraint violations. Constraint states are then used to augment the underlying MDP state and to learn a dense cost function, easing the problem of quickly learning joint MDP/constraint dynamics. We empirically evaluate the effect of these methods on training a variety of RL algorithms over several constraints specified in Safety Gym, MuJoCo, and Atari environments.