Sabbatical on the topic of Test Automation Sabbatical, Implementing the Grace Language using Pharo ? Fernando Brito King's College London, International Research Visitors 9.5.1. Visits of International Scientists ? Prof. Serge Demeyer ? Sébastien Proksch, 09/02/2017 ? Sébastien Martinez, Université de Rennes 1, 09/0317 ? Ronie Salgado ? Henda Ben Gezahla, Ecole Nationale des Sciences de l'Informatique (ENSI) en Tunisie, p.9, 2017. ,
Talk: Correctness of Speculative Optimizations with Dynamic Deoptimization 10.2. Teaching -Supervision -Juries 10.2.1. Teaching Licence: Nicolas Anquetil Nicolas Anquetil, Conception et programmation objet avancées Principes des systèmes d'exploitation, 40h Nicolas Anquetil, Conception et développement d'applications mobiles, 30h, L2, Univ. Lille 1, IUT-A, France Licence: Nicolas Anquetil, Méthodologie de la production d'applications, 33h, L2, Univ. Lille 1, IUT-A, France Licence: Nicolas Anquetil, Modélisations mathématiques, 14h, L2, Univ. Lille 1, IUT-A, France Licence: Nicolas Anquetil, Conception et programmation objet Technologies for information systems, Talk: Correctness of Speculative Optimizations with Dynamic Deoptimization ? Gabriel Scherer ,
A modular Approach of Object initialization for Pharo Sista: a Metacircular Architecture for Runtime Optimisation Persistence Université Lille 1 (France), Marcus Denker, Stéphane Ducasse PhD in progress: Pablo Tesone, Hot Software Update In Robotics Applications Stéphane Ducasse PhD in progress: Jason Lecerf, Reuse of Code Artifacts for Embedded Systems Through Refactoring, PhD: Gustavo Santos, Assessing and Improving Code Transformations to Support Software Evolution , Februrary 28th Prof. V. Bono, Stéphane Ducasse PhD: Clément Béra Luc Fabresse, Stéphane Ducasse PhD in progress: Brice Govin, Support to Implement a Rejuvenated Software Architecture in Legacy Software CIFRE Thales, started Stéphane Ducasse PhD in progress: Thibault Raffaillac, Languages and System Infrastructure for Interaction progress: Julien Delplanque, Software Engineering Techniques Applied to Databases, p.20, 2015. ,
Étendre des interpréteurs par détournement, ou comment étendre des interpréteurs sans en modifier le code ,
Reverse Engineering Source Code: Empirical Studies of Limitations and Opportunities, 2017. ,
Interaction-Aware Development Environments ? Recording, Mining, and Leveraging IDE Interactions to Analyze and Support the Development Flow, 2017. ,
Test Selection Habits of Developers in a Large IT Company, 2017. ,
Software/FPGA Co-design for Edge-computing: Promoting Object Oriented Design, 2017. ,
Maroua Hachicha PhD thesis, Un modèle de prise de décision dynamique basé sur la performance des processus métiers collaboratifs, 2017. ,
Assessing and Improving Code Transformations to Support Software Evolution, Februrary 28th ,
Test Selection Practices in a Large IT Company ,
Sista: a Metacircular Architecture for Runtime Optimisation Persistence, 2017. ,
A Pattern-Based Approach to Scaffold the IT Infrastructure Design Process Lisboa (Portugal) Nicolas Anquetil: Gustavo Santos Assessing and Improving Code Transformations to Support Software Evolution, Februrary 28th, Test Selection Practices in a Large IT Company, 2017. ,
Pharo by Example 5, Square Bracket Associates, p.2017 ,
Software maintenance seen as a knowledge management issueInformation Software Technology, pp.515-529, 2007. ,
DOI : 10.1016/j.infsof.2006.07.007
Runtime Bytecode Transformation for SmalltalkJournal of Computer Languages, Systems and Structures, pp.2-3, 2006. ,
Traits, ACM Transactions on Programming Languages and Systems, vol.28, issue.2, pp.331-388, 2006. ,
DOI : 10.1145/1119479.1119483
URL : https://hal.archives-ouvertes.fr/inria-00403568
Software Architecture Reconstruction: A Process-Oriented Taxonomy, IEEE Transactions on Software Engineering, vol.35, issue.4, pp.573-591, 2009. ,
DOI : 10.1109/TSE.2009.19
URL : https://hal.archives-ouvertes.fr/hal-00849009
Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships, 2007 IEEE International Conference on Software Maintenance, pp.94-103, 2007. ,
DOI : 10.1109/ICSM.2007.4362622
Semantic Clustering: Identifying Topics in Source CodeInformation and Software Technology, pp.230-243, 2007. ,
DOI : 10.1016/j.infsof.2006.10.017
Identifying Cycle Causes with Enriched Dependency Structural Matrix, 2009 16th Working Conference on Reverse Engineering, 2009. ,
DOI : 10.1109/WCRE.2009.11
URL : https://hal.archives-ouvertes.fr/inria-00498446
The Story of Moose: an Agile Reengineering Environment, Proceedings of the European Software Engineering Conference ESEC/FSE'05, pp.1-10, 2005. ,
An examination of software engineering work practicesProceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research, 1997. ,
A study of the documentation essential to software maintenance, Proceedings of the 23rd annual international conference on Design of communication documenting & designing for pervasive information, SIGDOC '05, pp.68-75, 2005. ,
DOI : 10.1145/1085313.1085331
Test Selection Practices in a Large IT Company, Université Lille 1 -Sciences et Technologies, 2017. ,
Sista, Proceedings of the 14th International Conference on Managed Languages and Runtimes , ManLang 2017, 2017. ,
DOI : 10.1109/CGO.2007.29
A Modular Approach to Object Initialization for Pharo, Dipartimento di Informatica, 2017. ,
URL : https://hal.archives-ouvertes.fr/tel-01651738
Assessing and Improving Code Transformations to Support Software Evolution, 2017. ,
URL : https://hal.archives-ouvertes.fr/tel-01545596
Mining inline cache data to order inferred types in dynamic languages, Science of Computer Programming, pp.1-17, 2018. ,
End-user abstractions for meta-control: Reifying the reflectogram, Science of Computer Programming, vol.140, 2017. ,
DOI : 10.1016/j.scico.2016.12.002
URL : https://hal.archives-ouvertes.fr/hal-01424787
Scoped Extension Methods in Dynamically-Typed Languages, The Art, Science, and Engineering of Programming, vol.2, issue.1, 2017. ,
DOI : 10.22152/programming-journal.org/2018/2/1
URL : https://hal.archives-ouvertes.fr/hal-01609310
Run-Fail-Grow: Creating Tailored Object-Oriented Runtimes., in "The Journal of Object Technology, pp.1-36, 2017. ,
DOI : 10.5381/jot.2017.16.3.a2
URL : https://hal.archives-ouvertes.fr/hal-01609295
A critical analysis of string APIs: The case of Pharo, in "Science of Computer Programming, pp.1-12, 2017. ,
Identifying Classes in Legacy JavaScript Code, Journal of Software: Evolution and Process, 2017. ,
DOI : 10.1007/s10664-012-9200-5
URL : https://hal.archives-ouvertes.fr/hal-01471905
Identifying class name inconsistency in hierarchy, Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies , IWST '17, pp.1-148, 2017. ,
DOI : 10.1109/WPC.2002.1021348
URL : https://hal.archives-ouvertes.fr/hal-01663603
The Case for Non-Cohesive Packages, SQAMIA 2017 -6th workshop on Software Quality Analysis, Monitoring, Improvement, and Applications, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01585703
What are the Testing Habits of Developers? A Case Study in a Large IT Company, 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2017. ,
DOI : 10.1109/ICSME.2017.68
URL : https://hal.archives-ouvertes.fr/hal-01571655
Sista, Proceedings of the 14th International Conference on Managed Languages and Runtimes , ManLang 2017, pp.1-11, 2017. ,
DOI : 10.1109/CGO.2007.29
Unanticipated Debugging with Dynamic Layers, in "LASSY 2017 Live Adaptation of Software SYstems, 2017. ,
CodeCritics applied to database schema: Challenges and first results, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp.432-436, 2017. ,
DOI : 10.1109/SANER.2017.7884648
URL : https://hal.archives-ouvertes.fr/hal-01596247
Analysis and exploration for new generation debuggers, in "International Workshop on Smalltalk Technology IWST'17, pp.1-5, 2017. ,
A detailed VM profiler for the Cog VM, in "International Workshop on Smalltalk Technology IWST'17, '17 Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies, 2017. ,
Debugging Cyber-Physical Systems with Pharo, Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies , IWST '17, pp.1-810, 2017. ,
DOI : 10.1002/spe.4380100408
URL : https://hal.archives-ouvertes.fr/hal-01585349
First-Class Undefined Classes for Pharo, Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies , IWST '17, pp.1-98, 2017. ,
DOI : 10.1145/2166929.2166937
URL : https://hal.archives-ouvertes.fr/hal-01585305
Turning Function Calls Into Animations, in "The 9th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, 2017. ,
Solidity Parsing Using SmaCC, Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies , IWST '17, pp.1-29, 2017. ,
DOI : 10.1002/spe.4380230803
URL : https://hal.archives-ouvertes.fr/hal-01651858
Recommending source code locations for system specific transformations, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), 2017. ,
DOI : 10.1109/SANER.2017.7884618
URL : https://hal.archives-ouvertes.fr/hal-01441790
Quality-oriented Move Method Refactoring, in "BENEVOL 2017 -16th BElgian-NEtherlands software eVOLution symposium, pp.1-5, 2017. ,
Usage of Tests in an Open-Source Community, Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies , IWST '17, pp.1-49, 2017. ,
DOI : 10.1145/1595696.1595713
URL : https://hal.archives-ouvertes.fr/hal-01579106
Smacc: a Compiler-Compiler, The Pharo Booklet Collection, Pharo, 2017. ,
Scraping HTML with XPath, published by the authors, 2017. ,
Learning Object-Oriented Programming, Design and TDD with Pharo, published by the authors, 2017. ,
The Spec UI framework, published by the authors, 2017. ,
Voyage: Persisting Objects in Document Databases, Square Bracket Associates, 2017. ,
An Experiment with lexically-bound extension methods for a dynamic language, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01483756
How Can We Help Software Rearchitecting Efforts? Study of an Industrial Case, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2017. ,
DOI : 10.1109/ICSME.2016.43
URL : https://hal.archives-ouvertes.fr/hal-01451242
Proceedings of the 8th International Workshop on Program Comprehension?, http://rmod.lille.inria.fr/archives, Comparison of Graphs of Concept for Reverse Engineering Classbox/J: Controlling the Scope of Change in JavaProceedings of 20th International Conference on Object-Oriented Programming, Systems, Languages , and Applications (OOPSLA'05), pp.231-177, 2000. ,
Stateful Traits, Advances in Smalltalk ? Proceedings of 14th International Smalltalk Conference, pp.66-90978, 2006. ,
DOI : 10.1007/978-3-540-71836-9_4
Stateful traits and their formalization, Computer Languages, Systems & Structures, vol.34, issue.2-3, pp.2-3, 2008. ,
DOI : 10.1016/j.cl.2007.05.003
URL : http://www.iam.unibe.ch/~scg/Archive/Papers/Berg07eElsevier.pdf
Applying Traits to the Smalltalk Collection Hierarchy, Proceedings of 17th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'03), pp.47-64, 2003. ,
DOI : 10.1145/949305.949311
URL : http://www.iam.unibe.ch/~scg/Archive/Papers/Blac03aTraitsHierarchy.pdf
Mirrors: design principles for meta-level facilities of object-oriented programming languages, Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'04), pp.331-344, 2004. ,
A security framework for reflective Java applications, in "Software: Practice and Experience, pp.821-846, 2003. ,
Metaclasses are first class: The ObjVlisp Model, Proceedings OOPSLA '87, pp.156-167, 1987. ,
DOI : 10.1145/38807.38822
URL : http://www.iam.unibe.ch/~ducasse/Web/ArchivedLectures/p156-cointe.pdf
Traits Programming with AspectJActes de la Première Journée Francophone sur le Développement du Logiciel par Aspects (JFDLPA'04), pp.62-78, 2004. ,
Using Smalltalk as a Reflective Executable Meta-language, International Conference on Model Driven Engineering Languages and Systems, pp.604-618, 2006. ,
DOI : 10.1007/11880240_42
Moose: a Collaborative and Extensible Reengineering EnvironmentTools for Software Maintenance and Reengineering Traits: A Mechanism for fine-grained Reuse, ACM Transactions on Programming Languages and Systems (TOPLAS), vol.28, issue.2, pp.55-71, 2005. ,
User-Changeable Visibility: Resolving Unanticipated Name Clashes in Traits, Proceedings of 22nd International Conference on Object-Oriented Programming , Systems, Languages, and Applications (OOPSLA'07), pp.171-190, 2007. ,
DOI : 10.1145/1297105.1297040
URL : https://hal.archives-ouvertes.fr/inria-00216103
Object-oriented inspection in the face of delocalisation, Proceedings of the 22nd international conference on Software engineering , ICSE '00, pp.467-476, 2000. ,
DOI : 10.1145/337180.337343
Statically typed traits, pp.2003-2016, 2003. ,
Capabilities as alias control: Secure cooperation in dynamically extensible systems, 2004. ,
Profile-guided static typing for dynamic scripting languages, 2009. ,
DOI : 10.1145/1639949.1640110
URL : http://drum.lib.umd.edu/bitstream/1903/9030/1/druby-profile-full.pdf
Smalltalk 80: the Interactive Programming Environment, 1984. ,
New security architectural directions for Java, in "compcon, p.584679, 1997. ,
Dynamic software updating, ACM Transactions on Programming Languages and Systems, vol.27, issue.6, pp.1049-1096, 2005. ,
DOI : 10.1145/1108970.1108971
Efficient method dispatch in PCL, Proceedings of the 1990 ACM conference on LISP and functional programming , LFP '90, pp.99-105, 1990. ,
DOI : 10.1145/91556.91600
Atomic architectural component recovery for program understanding and evolution, International Conference on Software Maintenance, 2002. Proceedings., 2000. ,
DOI : 10.1109/ICSM.2002.1167807
Dynamic Class Loading in the Java Virtual Machine, Proceedings of OOPSLA '98, pp.36-44, 1998. ,
FeatherTrait, ACM Transactions on Programming Languages and Systems, vol.30, issue.2, pp.1-32, 2008. ,
DOI : 10.1145/1330017.1330022
URL : https://hal.archives-ouvertes.fr/inria-00432540
DynaMine: finding common error patterns by mining software revision histories, in "SIGSOFT Software Engineering Notes, pp.296-305, 2005. ,
Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control, 2006. ,
Capability-Based Financial Instruments, FC '00: Proceedings of the 4th International Conference on Financial Cryptography, pp.349-378, 2001. ,
DOI : 10.1007/3-540-45472-1_24
Flattening Traits., The Journal of Object Technology, vol.5, issue.4, pp.129-148, 2006. ,
DOI : 10.5381/jot.2006.5.4.a4
Java Traits ? Improving Opportunities for Reuse, OGI School of Science & Engineering, 2004. ,
A Foundation for Trait-based Metaprogramming, in "International Workshop on Foundations and Developments of Object-Oriented Languages, 2006. ,
Pour un lien d'instanciation dynamique dans les langages à classes, JFLA96", Inria ? collection didactique, 1996. ,
The protection of information in computer systems, Fourth ACM Symposium on Operating System Principles, pp.1278-1308, 1975. ,
DOI : 10.1109/PROC.1975.9939
Using Dependency Models to Manage Complex Software Architecture, Proceedings of OOPSLA'05, pp.167-176, 2005. ,
DOI : 10.1145/1094811.1094824
Object-oriented encapsulation for dynamically typed languages, Proceedings of 18th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'04), pp.130-149, 2004. ,
DOI : 10.1145/1035292.1028988
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
Typed Traits in Java, Proceedings ECOOP, 2005. ,
Reengineering Class Hierarchies using Concept Analysis, ACM Trans. Programming Languages and Systems, 1998. ,
DOI : 10.1145/291252.288273
The Structure and Value of Modularity in SOftware Design, 2001. ,
MudPie: layers in the ball of mud, Computer Languages, Systems & Structures, vol.30, issue.1-2, pp.1-2, 2004. ,
DOI : 10.1016/j.cl.2003.09.001
Maintenance Support for Object-Oriented Programs, IEEE Transactions on Software Engineering, issue.12, pp.1038-1044, 1992. ,
DOI : 10.1109/tse.1992.1263033