A. Bacchelli, C. Bacchelli, and . Bird, 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

]. Beck, Extreme programming explained: Embrace change, p.39, 2000.

M. Beller, A. Bacchelli, A. Zaidman, and E. Juergens, 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

C. Bird, T. Bird, M. Carnahan, and . Greiler, 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

A. Bosu, M. Greiler, and C. Bird, 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

L. Breiman and . Breiman, Random forests, Machine Learning, vol.45, issue.1, pp.5-32, 2001.
DOI : 10.1023/A:1010933404324

S. Demeyer, S. Ducasse, and O. Nierstrasz, 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

D. Dig, C. Comertoglu, D. Marinov, and R. Johnson, Automated Detection of Refactorings in Evolving Components, ECOOP, pp.404-428, 2006.
DOI : 10.1007/11785477_24

D. Dig, K. Manzoor, R. E. Johnson, and T. N. Nguyen, 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

M. Ducasse-2000-]-stéphane-ducasse, S. Lanza, and . Tichelaar, 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.

P. Ebraert, J. Vallejos, P. Costanza, E. Van-paesschen, and T. D. Hondt, 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

T. Stephen-eick, A. Graves, and J. Karr, 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

J. Falleri, F. Morandat, X. Blanc, M. Martinez, and M. Montperrus, 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

M. Fluri, M. Wuersch, H. Pinzger, and . Gall, 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

R. Stephen, W. G. Foster, S. Griswold, and . Lerner, 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.

]. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts, Refactoring, Proceedings of the 24th international conference on Software engineering , ICSE '02, p.39, 1999.
DOI : 10.1145/581441.581453

T. Fritz and G. C. Murphy, 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

]. Gall, B. Fluri, and M. Pinzger, Change Analysis with Evolizer and ChangeDistiller, IEEE Software, vol.26, issue.1, pp.26-33, 2009.
DOI : 10.1109/MS.2009.6

X. Ge, Q. L. Dubose, and E. Murphy-hill, Reconciling manual and automatic refactoring, 2012 34th International Conference on Software Engineering (ICSE), pp.211-221
DOI : 10.1109/ICSE.2012.6227192

]. Genuer, J. Poggi, and C. Tuleau-malot, 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

A. Goldberg and D. Robson, Smalltalk-80: The language, 1989.

A. Georgios-gousios, M. Zaidman, A. Storey, and . Van-deursen, 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

A. Guzzi, A. Bacchelli, Y. Riche, and A. Van-deursen, 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

]. Hastie, R. Tibshirani, and J. Friedman, The elements of statistical learning, p.50, 2001.

]. L. Hattori and M. Lanza, Syde, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE '10, pp.235-238, 2010.
DOI : 10.1145/1810295.1810339

K. Herzig and A. Zeller, 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

R. Holmes and R. J. Walker, Customized awareness, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE '10, pp.465-474, 2010.
DOI : 10.1145/1806799.1806867

A. Hora, A. Etien, N. Anquetil, S. Ducasse, and M. Valente, 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

G. Karypis and V. Kumar, 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

D. Thomas, B. A. Latoza, and . Myers, Hard-to-answer questions about code, Evaluation and Usability of Programming Languages and Tools, PLATEAU 10, pp.1-8, 2010.

]. Laval, S. Denier, S. Ducasse, and J. Falleri, 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

E. Lippe and N. Van-oosterom, 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

T. Walid-maalej, R. Fritz, and . Robbes, Collecting and Processing Interaction Data for Recommendation Systems, Recommendation Systems in Software Engineering, pp.173-197, 2014.

]. Martinez, W. Weimer, and M. Monperrus, 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

M. Tom-mens, S. Wermelinger, S. Ducasse, R. Demeyer, M. Hirschfeld et al., Challenges in Software Evolution, Proceedings of the International Workshop on Principles of Software Evolution (IWPSE 2005), pp.123-131, 2005.

A. Mockus, T. Roy, . Fielding, D. James, and . Herbsleb, 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

S. Negara, M. Vakilian, N. Chen, R. E. Johnson, and D. Dig, 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

N. Stas-negara, M. Chen, R. E. Vakilian, D. Johnson, and . Dig, A Comparative Study of Manual and Automated Refactorings, 27th European Conference on Object-Oriented Programming, pp.552-576, 2013.

S. Negara, M. Codoban, D. Dig, and R. E. Johnson, 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

O. Cathy, R. Neil, and . Schutt, Doing data science, p.49, 2013.

]. Phillips, J. Sillito, and R. Walker, 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

]. Phillips, G. Ruhe, and J. Sillito, 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

N. Kyle-prete, N. Rachatasumrit, M. Sudan, and . Kim, Template-based Reconstruction of Complex Refactorings, 26th International Conference on Software Maintenance, pp.1-10, 2010.

L. Renggli, S. Ducasse, T. Gîrba, and O. Nierstrasz, 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

C. Peter, D. M. Rigby, M. German, and . Storey, 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.

B. Peter-rigby, F. Cleary, M. Painchaud, D. Storey, and . German, Contemporary Peer Review in Action: Lessons from Open Source Development, pp.56-61, 2012.

R. Robbes and M. Lanza, SpyWare, Proceedings of the 13th international conference on Software engineering , ICSE '08, 2008.
DOI : 10.1145/1368088.1368219

]. Robbes, D. Pollet, and M. Lanza, 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

R. Robbes, M. Lungu, and D. Röthlisberger, 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

A. Sarma, J. Branchaud, M. B. Dwyer, S. Person, and N. Rungta, 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

N. Schärli, S. Ducasse, O. Nierstrasz, and A. P. Black, 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

]. Sillito, K. D. Volder, B. Fisher, and G. Murphy, 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

]. J. Sillito, G. C. Murphy, and K. Volder, 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

]. J. Sillito, G. C. Murphy, and K. Volder, 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

B. Steinert, D. Cassou, and R. Hirschfeld, 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

Y. Tao, Y. Dang, T. Xie, D. Zhang, and S. Kim, 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

S. Sander-tichelaar, S. Ducasse, O. Demeyer, and . Nierstrasz, 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

S. Ducasse and T. D. Hondt, 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

S. Ducasse and T. D. Hondt, 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

L. Deursen, A. Moonen, and . Zaidman, Software evolution, chapitre 8: On the Interplay Between Software Testing and Evolution and its Effect on Program Comprehension, 2008.

]. Verwaest, C. Bruni, M. Lungu, and O. Nierstrasz, 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

P. Weissgerber, S. Diehl-wloka, and B. Ryder, 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.

S. S. Yau, J. S. Collofello, and T. Macgregor, 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

]. Zhang, M. Song, J. Pinedo, and M. Kim, 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

A. Aaaaaaaa, 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