A framework for writing trigger-action todo comments in executable format

作者: Pengyu Nie , Rishabh Rai , Junyi Jessy Li , Sarfraz Khurshid , Raymond J. Mooney

DOI: 10.1145/3338906.3338965

关键词:

摘要: Natural language elements, e.g., todo comments, are frequently used to communicate among developers and describe tasks that need be performed (actions) when specific conditions hold on artifacts related the code repository (triggers), from Apache Struts project: “remove expectedJDK15 if() after switching Java 1.6”. As projects evolve, development processes change, teams reorganize, these because of their informal nature, become irrelevant or forgotten. We present first framework, dubbed TrigIt, specify trigger-action comments in executable format. Thus, actions executed automatically triggers evaluate true. TrigIt specifications written host (e.g., Java) evaluated as part build process. The specified query statements over abstract syntax trees, representation configuration scripts, issue tracking systems, system clock time. either notifications transformation steps. implemented for programming migrated 44 existing several popular open-source projects. Evaluation via a user study, showed users find easy learn use. has potential enforce more discipline writing maintaining large repositories.

参考文章(47)
William F. Opdyke, Refactoring object-oriented frameworks PhD thesis, University of Illinois at Urbana-Champaign. ,(1992)
Margaret-Anne Storey, Jody Ryall, R. Ian Bull, Del Myers, Janice Singer, TODO or to bug: exploring how task annotations play a role in the work practices of software developers international conference on software engineering. pp. 251- 260 ,(2008) , 10.1145/1368088.1368123
Mohsen Vakilian, Nicholas Chen, Roshanak Zilouchian Moghaddam, Stas Negara, Ralph E. Johnson, A compositional paradigm of automating refactorings european conference on object oriented programming. pp. 527- 551 ,(2013) , 10.1007/978-3-642-39038-8_22
Elnar Hajiyev, Mathieu Verbaere, Oege de Moor, codeQuest: Scalable Source Code Queries with Datalog ECOOP 2006 – Object-Oriented Programming. pp. 2- 27 ,(2006) , 10.1007/11785477_2
Huiqing Li, Simon Thompson, A domain-specific language for scripting refactorings in erlang fundamental approaches to software engineering. pp. 501- 515 ,(2012) , 10.1007/978-3-642-28872-2_34
Robert E Filman, Daniel P Friedman, Peter Norvig, Aspect-Oriented Programming is Quantification and Obliviousness RIACS. ,(2000)
Daniel Tarlow, Andrew Gordon, Yi Wei, Miltos Allamanis, Bimodal Modelling of Source Code and Natural Language international conference on machine learning. pp. 2123- 2132 ,(2015)
Beat Fluri, Michael Wursch, Harald C. Gall, Do Code and Comments Co-Evolve? On the Relation between Source Code and Comment Changes working conference on reverse engineering. pp. 70- 79 ,(2007) , 10.1109/WCRE.2007.21
Mathieu Verbaere, Ran Ettinger, Oege de Moor, JunGL Proceeding of the 28th international conference on Software engineering - ICSE '06. pp. 172- 181 ,(2006) , 10.1145/1134285.1134311
Raoul-Gabriel Urma, Alan Mycroft, Programming language evolution via source code query languages evaluation and usability of programming languages and tools. pp. 35- 38 ,(2012) , 10.1145/2414721.2414728