References of "Guelfi, Nicolas 50001902"
     in
Bookmark and Share    
Full Text
Peer Reviewed
See detailSpecifying key-properties to improve the recognition skills of neural networks
Jahic, Benjamin UL; Guelfi, Nicolas UL; Ries, Benoit UL

Scientific Conference (2020, November 06)

Software engineers are increasingly asked to build datasets for engineering neural network-based software systems. These datasets are used to train neural networks to recognise data. Traditionally, data ... [more ▼]

Software engineers are increasingly asked to build datasets for engineering neural network-based software systems. These datasets are used to train neural networks to recognise data. Traditionally, data scientists build datasets consisting of random collected or generated data. Their approaches are often costly, inefficient and time-consuming. Software engineers rely on these traditional approaches that do not support precise data selection criteria based on customer’s requirements. In this paper, we introduce an extended software engineering method for dataset augmentation to improve neural networks by satisfying the customer’s requirements. We introduce the notion of key-properties to describe the neural network’s recognition skills. Key-properties are used all along the engineering process for developing the neural network in cooperation with the customer. We propose a rigorous process for augmenting datasets based on the analysis and specification of the key-properties. We conducted an experimentation on a case study on the recognition of the state of a digital meter counter. We demonstrate an informal specification of the neural network’s key-properties and a successful improvement of a neural network’s recognition of the meter counter state. [less ▲]

Detailed reference viewed: 56 (10 UL)
Full Text
Peer Reviewed
See detailAnalysing the SWECOM Standard for Designing a DevOps Education Programme
Capozucca, Alfredo UL; Guelfi, Nicolas UL

in In: Bruel JM., Capozucca A., Mazzara M., Meyer B., Naumchev A., Sadovykh A. (eds) Frontiers in Software Engineering Education. FISEE 2019. Lecture Notes in Computer Science (2020), 12271

Developing academic education programmes for software engineers is a difficult task mainly due to three main factors: (1) ever-changing information and communication technologies produced by the industry ... [more ▼]

Developing academic education programmes for software engineers is a difficult task mainly due to three main factors: (1) ever-changing information and communication technologies produced by the industry and meant for citizens living in digital disruptions age, (2) lack of official or de-facto standards for the software engineering domain, (3) slow pace of the standardisation bodies and of the academia for deploying standard competence frameworks or education programmes. This applies more especially to DevOps which regroups a set of skills being the most demanded today by the job market. This paper is a first attempt to introduce a standard based development process to derive a DevOps education programme for graduate education. It is introduced as a generic process mainly based on the SWECOM standard. This process is applied to generate a proposal for a significant DevOps graduate academic programme definition in a comprehensive and, most importantly, in a skill oriented manner. [less ▲]

Detailed reference viewed: 30 (0 UL)
Full Text
Peer Reviewed
See detailTeaching DevOps in Academia and Industry: Reflections and Vision
Bobrov, Evgeny; Bucchiarone, Antonio; Capozucca, Alfredo UL et al

in Bruel, Jean-Michel; Mazzara, Manuel; Meyer, Bertrand (Eds.) Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment (2020, January 19)

The new century brought us a kind of renaissance in software development methods. The advent of the Agile manifesto has led to greater appreciation of methodologies aimed at producing valuable software ... [more ▼]

The new century brought us a kind of renaissance in software development methods. The advent of the Agile manifesto has led to greater appreciation of methodologies aimed at producing valuable software through continuous incremental cycles. More recently, a new set of practices enclosed under the term DevOps has appeared to attain manifesto's objectives in more efficient manner. The software development community has already noticed the benefits brought by DevOps. Thus, the necessity of education in the field becomes more and more important, both from the technical and organisational point of view. This paper describes parallel experiences of teaching both undergraduate and graduate students at the university, and junior professional developers in industry, compares the two approaches and sums up the lessons learnt. A vision driven by the DevOps practices aimed at implementing a shift in the Software Engineering Higher Education curricula to takeover its current limitations is also reported at the end of the paper. [less ▲]

Detailed reference viewed: 61 (3 UL)
Full Text
Peer Reviewed
See detailDevOps and Its Philosophy: Education Matters!
Bobrov, Evgeny; Bucchiarone, Antonio; Capozucca, Alfredo UL et al

in Mazzara, Manuel; Rivera, Victor; Sadovykh, Andrey (Eds.) et al Microservices: Science and Engineering (2020)

DevOps processes comply with principles and offer practices with the main objective of efficiently supporting the evolution of IT systems. To be efficient, a DevOps process relies on a set of integrated ... [more ▼]

DevOps processes comply with principles and offer practices with the main objective of efficiently supporting the evolution of IT systems. To be efficient, a DevOps process relies on a set of integrated tools. DevOps is among the first competencies, together with agile method, required by the industry. As a new approach it is necessary to develop and offer to the academy and to the industry training programs to prepare engineers in the best possible way. In this chapter we present the main aspects of the educational effort made in recent years to educate engineers on the concepts and values of the DevOps philosophy. This includes principles, practices, tools, and architectures, primarily the microservices architectural style, which shares many aspects of DevOps approaches, especially modularity and flexibility, which enable continuous change and delivery. Two experiments have been carried out, one at the academic level as a master program course and the other as an industrial training. Based on those two, we provide a comparative analysis and some proposals in order to develop and improve DevOps education for the future. [less ▲]

Detailed reference viewed: 78 (1 UL)
Full Text
Peer Reviewed
See detailSoftware Engineering for Dataset Augmentation using Generative Adversarial Networks
Jahic, Benjamin UL; Guelfi, Nicolas UL; Ries, Benoît UL

in Proceedings of 10th IEEE International Conference on Software Engineering and Service Science (2019, October 19)

Software engineers require a large amount of data for building neural network-based software systems. The engineering of these data is often neglected, though, it is a critical and time-consuming activity ... [more ▼]

Software engineers require a large amount of data for building neural network-based software systems. The engineering of these data is often neglected, though, it is a critical and time-consuming activity. In this work, we present a novel software engineering approach for dataset augmentation using neural networks. We propose a rigorous process for generating synthetic data to improve the training of neural networks. Also, we demonstrate our approach to successfully improve the recognition of handwritten digits using conditional generative adversarial networks (cGAN). Finally, we shortly discuss selected important issues of our process, presenting related work and proposing some improvements. [less ▲]

Detailed reference viewed: 208 (135 UL)
Full Text
See detailDevOps and its Philosophy : Education Matters!
Bobrov, Evgeny; Antonio, Bucchiarone; Capozucca, Alfredo UL et al

Report (2019)

DevOps processes comply with principles and offer practices with main objective to support efficiently the evolution of IT systems. To be efficient a DevOps process relies on a set of integrated tools ... [more ▼]

DevOps processes comply with principles and offer practices with main objective to support efficiently the evolution of IT systems. To be efficient a DevOps process relies on a set of integrated tools. DevOps is among the first competencies together with Agile method required by the industry. As a new approach it is necessary to develop and offer to the academy and to the industry training programs to prepare our engineers in the best possible way. In this chapter we present the main aspects of the educational effort made in the recent years to educate to the concepts and values of the DevOps philosophy. This includes principles, practices, tools and architectures, primarily the microservices architectural style, which shares many aspects of DevOps approaches especially the modularity and flexibility which enables continuous change and delivery. Two experiences have been made, one at academic level as a master program course and the other, as an industrial training. Based on those two experiences, we provide a comparative analysis and some proposals in order to develop and improve DevOps education for the future. [less ▲]

Detailed reference viewed: 44 (3 UL)
Full Text
See detailTeaching DevOps in academia and industry: reflections and vision
Bobrov, Evgeny; Bucchiarone, Antonio; Capozucca, Alfredo UL et al

Report (2019)

This paper describes our experience of delivery educational programs in academia and in industry on DevOps, compare the two approaches and sum-up the lessons learnt. We also propose a vision to implement ... [more ▼]

This paper describes our experience of delivery educational programs in academia and in industry on DevOps, compare the two approaches and sum-up the lessons learnt. We also propose a vision to implement a shift in the Software Engineering Higher Education curricula. [less ▲]

Detailed reference viewed: 83 (9 UL)
Full Text
Peer Reviewed
See detailDesign of a (yet another?) DevOps course
Capozucca, Alfredo UL; Guelfi, Nicolas UL; Ries, Benoît UL

in Bruel, Jean-Michel; Mazzara, Manuel; Meyer, Bertrand (Eds.) Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment (2019, January 19)

DevOps have received marginal attention inside the higher education level curricula despite of its boom in the industrial sector. This paper presents the design of an academic master-level course aimed at ... [more ▼]

DevOps have received marginal attention inside the higher education level curricula despite of its boom in the industrial sector. This paper presents the design of an academic master-level course aimed at DevOps. The proposed design is based on earlier experiences in teaching DevOps-related topics. The specification of the course design is provided using the SWEBOK Guide and Bloom’s taxonomy to enhance the quality of the course design specification, and ease its assessment once delivered. [less ▲]

Detailed reference viewed: 138 (23 UL)
Full Text
Peer Reviewed
See detailA Survey of Petri Nets Slicing
Khan, Yasir Imtiaz; Konios, Alexandros; Guelfi, Nicolas UL

in ACM Computing Surveys (2018), 51(5), 109

Petri nets slicing is a technique that aims to improve the verification of systems modeled in Petri nets. Petri nets slicing was first developed to facilitate debugging but then used for the alleviation ... [more ▼]

Petri nets slicing is a technique that aims to improve the verification of systems modeled in Petri nets. Petri nets slicing was first developed to facilitate debugging but then used for the alleviation of the state space explosion problem for the model checking of Petri nets. In this article, different slicing techniques are studied along with their algorithms introducing: i) a classification of Petri nets slicing algorithms based on their construction methodology and objective (such as improving state space analysis or testing), ii) a qualitative and quantitative discussion and comparison of major differences such as accuracy and efficiency, iii) a syntactic unification of slicing algorithms that improve state space analysis for easy and clear understanding, and iv) applications of slicing for multiple perspectives. Furthermore, some recent improvements to slicing algorithms are presented, which can certainly reduce the slice size even for strongly connected nets. A noteworthy use of this survey is for the selection and improvement of slicing techniques for optimizing the verification of state event models. [less ▲]

Detailed reference viewed: 71 (3 UL)
Full Text
Peer Reviewed
See detailMessir: A Text-First DSL-Based Approach for UML Requirements Engineering (Tool Demo)
Ries, Benoît UL; Capozucca, Alfredo UL; Guelfi, Nicolas UL

in Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering SLE'18 (2018)

Detailed reference viewed: 113 (16 UL)
Full Text
See detailA Product Line of Software Engineering Project Courses
Guelfi, Nicolas UL; Capozucca, Alfredo UL; Ries, Benoît UL

Poster (2017, November 08)

Detailed reference viewed: 81 (12 UL)
Full Text
Peer Reviewed
See detailTESMA: Requirements and Design of a Tool for Educational Programs
Guelfi, Nicolas UL; Jahic, Benjamin UL; Ries, Benoît UL

in Information (2017)

Defining and managing teaching programs at universities or other institutions is a complex task for which there is not much support in terms of methods and tools. This task becomes even more critical when ... [more ▼]

Defining and managing teaching programs at universities or other institutions is a complex task for which there is not much support in terms of methods and tools. This task becomes even more critical when the time comes to obtain certifications w.r.t. official standards. In this paper, we present an on-going project called TESMA, whose objective is to provide an open-source tool dedicated to the specification and management (including certification) of teaching programs. An in-depth market analysis regarding related tools and conceptual frameworks of the project is presented. This tool has been engineered using a development method called Messir for its requirements elicitation and introduces a domain-specific language dedicated to the teachin [less ▲]

Detailed reference viewed: 249 (66 UL)
Full Text
Peer Reviewed
See detailTESMA : Towards the Development of a Tool for Specification, Management and Assessment of Teaching Programs
Guelfi, Nicolas UL; Jahic, Benjamin UL; Ries, Benoît UL

in Pyshkin, Evgeny; Vazhenin, Alexander; Klyuev, Vitaly (Eds.) Proceeding of the 2nd International Conference on Applications in Information Technology (2016, October)

Defining and managing teaching programs at university or other institutions is a complex task for which there is not much support in terms of methods and tools. This task becomes even more critical when ... [more ▼]

Defining and managing teaching programs at university or other institutions is a complex task for which there is not much support in terms of methods and tools. This task becomes even more critical when the time comes to obtain certifications w.r.t. official standards. In this paper, we present an on-going project called TESMA whose objective is to provide an open-source tool dedicated to the specification and management (including certification) of teaching programs. This tool has been engineered using a development method called Messir for its requirements elicitations and introduces a domain-specific language dedicated to the teaching domain. This paper presents the current status of this project and the future activities planned. [less ▲]

Detailed reference viewed: 209 (78 UL)
Full Text
Peer Reviewed
See detailMeasuring the SWEBOK Coverage: An Approach and a Tool
Guelfi, Nicolas UL; Capozucca, Alfredo UL; Ries, Benoît UL

Scientific Conference (2016, August 25)

The definition of a software engineering body of knowledge (SWEBOK) is an important milestone in the history of the software engineering discipline. One of the main questions that might be asked in front ... [more ▼]

The definition of a software engineering body of knowledge (SWEBOK) is an important milestone in the history of the software engineering discipline. One of the main questions that might be asked in front of such knowledge definition is: to which extent does my knowledge cover this body of knowledge ? In a more general perspective we can be interested in measuring the coverage of any entity w.r.t. the SWEBOK. It could be a book, a paper, a course, . . . . In this paper, we present the method we defined to answer such question, the tool we developed and the experiments we did with the lessons learned. [less ▲]

Detailed reference viewed: 94 (20 UL)
Full Text
Peer Reviewed
See detailSoftware Engineering and Modeling Education: Problems and Solutions
Guelfi, Nicolas UL

in Proceedings of the International Workshop on Petri Nets and Software Engineering (PNSE'15), including the International Workshop on Petri Nets for Adaptive Discrete Event Control Systems (ADECS 2015) A satellite event of the conferences: 36th International Conference on Application and Theory of Petri Nets and Concurrency Petri Nets 2015 and 15th International Conference on Application of Concurrency to System Design ACSD 2015, Brussels, Belgium, June 22-23, 2015. (2015)

Detailed reference viewed: 127 (2 UL)
Full Text
Peer Reviewed
See detailSlicing High-level Petri nets
Khan, Yasir Imtiaz UL; Guelfi, Nicolas UL

in International Workshop on Petri Nets and Software Engineering (PNSE'14), Tunis June 2014 (2014, June 23)

High-level Petri nets (evolutions of low-level Petri nets) are well suitable formalisms to represent complex data, which influence the behavior of distributed, concurrent systems. However, usual ... [more ▼]

High-level Petri nets (evolutions of low-level Petri nets) are well suitable formalisms to represent complex data, which influence the behavior of distributed, concurrent systems. However, usual verification techniques such as model checking and testing remain an open challenge for both (i.e., low-level and high-level Petri nets) because of the state space explosion problem and test case selection. The contribution of this paper is to propose a technique to improve the model checking and test- ing of systems modeled using Algebraic Petri nets (a variant of high-level petri nets). To achieve the objective, we propose different slicing algo- rithms for Algebraic Petri nets. We argue that our slicing algorithms significantly improve the state of the art related to slicing APNs and can also be applied to low-level Petri nets with slight modifications. We exemplify our proposed algorithms through a case study of a car crash management system. [less ▲]

Detailed reference viewed: 114 (19 UL)
Full Text
Peer Reviewed
See detailAn Empirical Investigation of Modularity Metrics for Indicating Architectural Technical Debt
Li, Zengyang; Liang, Peng; Avgeriou, Paris et al

in Proceedings of the 10th international ACM Sigsoft conference on Quality of software architectures (2014, June)

Detailed reference viewed: 89 (3 UL)