Expectations, outcomes, and challenges of modern code review, 2013 35th International Conference on Software Engineering (ICSE), pp.712-721 ,
DOI : 10.1109/ICSE.2013.6606617
Extreme programming explained: Embrace change, p.39, 2000. ,
Modern code reviews in open-source projects: which problems do they fix?, Proceedings of the 11th Working Conference on Mining Software Repositories, MSR 2014, pp.202-211, 2014. ,
DOI : 10.1145/2597073.2597082
Lessons Learned from Building and Deploying a Code Review Analytics Platform, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, p.66, 2015. ,
DOI : 10.1109/MSR.2015.25
Characteristics of Useful Code Reviews: An Empirical Study at Microsoft, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, 2015. ,
DOI : 10.1109/MSR.2015.21
Random forests, Machine Learning, vol.45, issue.1, pp.5-32, 2001. ,
DOI : 10.1023/A:1010933404324
Finding refactorings via change metrics, Proceedings of 15th International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '00), pp.166-178, 2000. ,
DOI : 10.1145/354222.353183
Automated Detection of Refactorings in Evolving Components, ECOOP, pp.404-428, 2006. ,
DOI : 10.1007/11785477_24
Effective Software Merging in the Presence of Object-Oriented Refactorings, IEEE Transactions on Software Engineering, vol.34, issue.3, pp.321-335, 2008. ,
DOI : 10.1109/TSE.2008.29
Moose: an Extensible Language-Independent Environment for Reengineering Object- Oriented Systems, Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools, CoSET '00, p.27, 2000. ,
Change-oriented software engineering, Proceedings of the 2007 international conference on Dynamic languages in conjunction with the 15th International Smalltalk Joint Conference 2007, ICDL '07, pp.3-24, 2007. ,
DOI : 10.1145/1352678.1352680
Does code decay? Assessing the evidence from change management data, IEEE Transactions on Software Engineering, vol.27, issue.1, pp.1-12, 2001. ,
DOI : 10.1109/32.895984
Fine-grained and accurate source code differencing, Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, ASE '14, pp.313-324, 2014. ,
DOI : 10.1145/2642937.2642982
URL : https://hal.archives-ouvertes.fr/hal-01054552
Change Distilling:Tree Differencing for Fine-Grained Source Code Change Extraction, IEEE Transactions on Software Engineering, vol.33, issue.11, pp.725-743, 2007. ,
DOI : 10.1109/TSE.2007.70731
WitchDoctor: IDE Support for Real-time Auto-completion of Refactorings, Proceedings of the 34th International Conference on Software Engineering, ICSE '12, pp.222-232, 2012. ,
Refactoring, Proceedings of the 24th international conference on Software engineering , ICSE '02, p.39, 1999. ,
DOI : 10.1145/581441.581453
Using information fragments to answer the questions developers ask, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE '10, pp.175-184, 2010. ,
DOI : 10.1145/1806799.1806828
Change Analysis with Evolizer and ChangeDistiller, IEEE Software, vol.26, issue.1, pp.26-33, 2009. ,
DOI : 10.1109/MS.2009.6
Reconciling manual and automatic refactoring, 2012 34th International Conference on Software Engineering (ICSE), pp.211-221 ,
DOI : 10.1109/ICSE.2012.6227192
Variable selection using random forests, Pattern Recognition Letters, vol.31, issue.14, p.54, 2010. ,
DOI : 10.1016/j.patrec.2010.03.014
URL : https://hal.archives-ouvertes.fr/hal-00755489
Smalltalk-80: The language, 1989. ,
Work practices and challenges in pull-based development, Proceedings of the 38th International Conference on Software Engineering, ICSE '16, p.39, 2008. ,
DOI : 10.1145/2884781.2884826
Supporting Developers' Coordination in the IDE, Proceedings of the 18th ACM Conference on Computer Supported Cooperative Work & Social Computing, CSCW '15, p.39, 2015. ,
DOI : 10.1145/2675133.2675177
The elements of statistical learning, p.50, 2001. ,
Syde, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE '10, pp.235-238, 2010. ,
DOI : 10.1145/1810295.1810339
The impact of tangled code changes, 2013 10th Working Conference on Mining Software Repositories (MSR), pp.121-130, 2013. ,
DOI : 10.1109/MSR.2013.6624018
Customized awareness, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE '10, pp.465-474, 2010. ,
DOI : 10.1145/1806799.1806867
APIEvolutionMiner: Keeping API evolution under control, 2014 Software Evolution Week, IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE), p.67, 2014. ,
DOI : 10.1109/CSMR-WCRE.2014.6747209
URL : https://hal.archives-ouvertes.fr/hal-00991722
Analysis of multilevel graph partitioning, Proceedings of the 1995 ACM/IEEE conference on Supercomputing (CDROM) , Supercomputing '95, p.40, 1995. ,
DOI : 10.1145/224170.224229
Hard-to-answer questions about code, Evaluation and Usability of Programming Languages and Tools, PLATEAU 10, pp.1-8, 2010. ,
Supporting simultaneous versions for software evolution assessment, Science of Computer Programming, vol.76, issue.12, pp.1177-1193, 1927. ,
DOI : 10.1016/j.scico.2010.11.014
URL : https://hal.archives-ouvertes.fr/inria-00531500
Operation-based merging, Proceedings of the 5th ACM SIGSOFT symposium on Software Development Environments, SDE'92, pp.78-87, 1992. ,
DOI : 10.1145/142868.143753
Collecting and Processing Interaction Data for Recommendation Systems, Recommendation Systems in Software Engineering, pp.173-197, 2014. ,
Do the fix ingredients already exist? an empirical inquiry into the redundancy assumptions of program repair approaches, Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014, 1403. ,
DOI : 10.1145/2591062.2591114
URL : https://hal.archives-ouvertes.fr/hal-00965410
Challenges in Software Evolution, Proceedings of the International Workshop on Principles of Software Evolution (IWPSE 2005), pp.123-131, 2005. ,
Two case studies of open source software development: Apache and Mozilla, ACM Transactions on Software Engineering and Methodology, vol.11, issue.3, pp.309-346, 2002. ,
DOI : 10.1145/567793.567795
Is It Dangerous to Use Version Control Histories to Study Source Code Evolution?, Proceedings of the 26th European Conference on Object-Oriented Programming (ECOOP), p.66, 2012. ,
DOI : 10.1007/978-3-642-31057-7_5
A Comparative Study of Manual and Automated Refactorings, 27th European Conference on Object-Oriented Programming, pp.552-576, 2013. ,
Mining fine-grained code changes to detect unknown change patterns, Proceedings of the 36th International Conference on Software Engineering, ICSE 2014, pp.803-813, 2014. ,
DOI : 10.1145/2568225.2568317
Doing data science, p.49, 2013. ,
Branching and merging, Proceeding of the 4th international workshop on Cooperative and human aspects of software engineering, CHASE '11, p.78, 2011. ,
DOI : 10.1145/1984642.1984645
Information needs for integration decisions in the release process of large-scale parallel development, Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work, CSCW '12, pp.1371-1380, 2012. ,
DOI : 10.1145/2145204.2145408
Template-based Reconstruction of Complex Refactorings, 26th International Conference on Software Maintenance, pp.1-10, 2010. ,
Domain-Specific Program Checking, Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS'10), pp.213-232, 2010. ,
DOI : 10.1007/978-3-642-13953-6_12
URL : https://hal.archives-ouvertes.fr/inria-00531509
Open Source Software Peer Review Practices: A Case Study of the Apache Server, Proceedings of the 30th International Conference on Software Engineering , ICSE '08, pp.541-550, 2008. ,
Contemporary Peer Review in Action: Lessons from Open Source Development, pp.56-61, 2012. ,
SpyWare, Proceedings of the 13th international conference on Software engineering , ICSE '08, 2008. ,
DOI : 10.1145/1368088.1368219
Logical Coupling Based on Fine-Grained Change Information, 2008 15th Working Conference on Reverse Engineering, pp.42-46, 2008. ,
DOI : 10.1109/WCRE.2008.47
How do developers react to API deprecation?, Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE '12, pp.1-56, 2012. ,
DOI : 10.1145/2393596.2393662
Development context driven change awareness and analysis framework, Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014, pp.404-407, 2014. ,
DOI : 10.1145/2591062.2591100
Traits: Composable Units of Behaviour, Proceedings of European Conference on Object-Oriented Programming, pp.248-274, 2003. ,
DOI : 10.1007/978-3-540-45070-2_12
Managing software change tasks: an exploratory study, 2005 International Symposium on Empirical Software Engineering, 2005., pp.23-32, 2005. ,
DOI : 10.1109/ISESE.2005.1541811
Questions programmers ask during software evolution tasks, Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering , SIGSOFT '06/FSE-14, pp.23-34, 2006. ,
DOI : 10.1145/1181775.1181779
Asking and Answering Questions during a Programming Change Task, IEEE Transactions on Software Engineering, vol.34, issue.4, pp.434-451, 2008. ,
DOI : 10.1109/TSE.2008.26
CoExist, Proceedings of the 8th symposium on Dynamic languages, DLS '12, pp.107-118, 2012. ,
DOI : 10.1145/2384577.2384591
URL : https://hal.archives-ouvertes.fr/hal-01118744
How do software engineers understand code changes?, Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE '12, p.60, 2012. ,
DOI : 10.1145/2393596.2393656
A meta-model for language-independent refactoring, Proceedings International Symposium on Principles of Software Evolution, pp.157-167, 2000. ,
DOI : 10.1109/ISPSE.2000.913233
Visually Supporting Source Code Changes Integration: the Torch Dashboard, Proceedings of the 17th Working Conference on Reverse Engineering (WCRE'10), pp.55-64, 2010. ,
URL : https://hal.archives-ouvertes.fr/inria-00531508
Ring: a Unifying Meta-Model and Infrastructure for Smalltalk Source Code Analysis Tools, Journal of Computer Languages, Systems and Structures, vol.38, issue.5, pp.44-60, 2012. ,
URL : https://hal.archives-ouvertes.fr/inria-00629677
Software evolution, chapitre 8: On the Interplay Between Software Testing and Evolution and its Effect on Program Comprehension, 2008. ,
Flexible object layouts: enabling lightweight language extensions by intercepting slot access, Proceedings of 26th International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), pp.959-972, 2011. ,
URL : https://hal.archives-ouvertes.fr/hal-00641716
Identifying Refactorings from Source-Code Changes Frank Tip and Xiaoxia Ren. Safe-Commit analysis to Facilitate Team Software Development, Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering, ASE '06 Proceeding ICSE '09 Proceedings of the 31st International Conference on Software Engineering, pp.231-240, 2006. ,
Ripple effect analysis of software maintenance, The IEEE Computer Society's Second International Computer Software and Applications Conference, 1978. COMPSAC '78., pp.60-65, 1978. ,
DOI : 10.1109/CMPSAC.1978.810308
Interactive Code Review for Systematic Changes, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, pp.1-12, 2015. ,
DOI : 10.1109/ICSE.2015.33
1 PPPP Programming Language PPPP is a SSSSSS inspired object-oriented and dynamically-typed generalpurpose language with its own programming environment The language has a simple and expressive syntax which can be learned in a few minutes Language concepts in PPPP are consistent, everything is an object: classes, methods, numbers , strings, even the execution context. PPPP runs on top of a bytecode-based virtual machine. Development takes place in an image in which all objects reside. All these objects can be modified by the programmer, this includes classes and methods. Hence, we eliminate the typical edit/compile/run cycle and instead incrementally add, remove or modify classes and methods. It is worth noting that all classes can be extended with new methods in PPPP. For instance, one can add new operations on integers or strings, classes that are treated as unchangeable internal objects by many other high-level languages, For deployment and debugging, the state of a running image can be saved at any point and subsequently restored ,