Tutoriais

Os tutoriais do CBSoft 2017 são abertos a todos congressistas, não sendo necessário pagamento de nenhuma taxa extra para participar dos mesmos. Confira a programação dos tutoriais desta edição



Tutorial 1 – Segunda-feira, 18/09 – 10:45-12:15 & 14:00-16:00

Tutorialista
Prof. Dr. Andrzej Wąsowski (IT University of Copenhagen)

Título
Domain Modeling and Variability Modeling in Clafer

Resumo
Variability Modeling is a key activity in implementing Software Product Lines and highly configurable systems. Clafer is a small language for domain modeling with excellent support for variability modeling.  In this tutorial, we will introduce the basics of variability modeling and the basics of the  Clafer language.  Most of the tutorial will be interactive. The participants will use online Clafer tools to create basic models and analyze them, including consistency checking of models, and finding optimal configurations. Time permitting, we will discuss extensions of Clafer beyond structural domain modeling.

Breve CV
Andrzej Wasowski works with design and use of technologies that improve the quality of software, including issues such as correctness and maintainability. He has worked extensively with software product line methods—ways to develop software for similar products at lower cost but with higher quality. He has collaborated with open source projects (the Linux kernel among others) and industry (for example with Danfoss). Currently, he is working on technical solutions to support software modernization, studying how old software can be moved to new platforms and how to restructure software without losing its properties. He is also investigating quality assurance methods for robotics platforms, in the H2020 project ROSIN.

Andrzej Wasowski is a professor of Software Engineering at IT University in Copenhagen (ITU). He holds an MSc degree from Warsaw University of Technology and a Ph.D. degree from ITU. He has previously held visiting positions at Aalborg University (Denmark), INRIA Rennes (France) and University of Waterloo (Canada). He is general chair of MODELS’2018 conference, program chair of ECMFA’16 and FASE’16 and a member of the editorial board of the SoSyM journal. He is a recipient of the Sapere Aude research leadership award from The Danish Council for Independent Research (2012).


Tutorial 2 – Terça-Feira, 19/09 – 10:45-12:15 & 14:00-16:00

Tutorialistas
Katia Romero Felizardo (UTFPR/CP)
Elisa Yumi Nakagawa (ICMC/USP)

Título
Revisões Sistemáticas na Engenharia de Software – Lições aprendidas sobre sua condução e atualização

Resumo
Revisões Sistemáticas (RSs) têm sido largamente conduzidas nos últimos anos na área de Engenharia de Software (ES), trazendo consideráveis benefícios para os avanços das pesquisas e práticas nessa área. Muitas RSs têm sido publicadas; contudo, a grande maioria delas não têm sido atualizadas. Por outro lado, é importante salientar que revisões precisam ser atualizadas de tempos em tempos, pois aquelas que não o são tornam-se obsoletas e podem levar os leitores a conclusões equivocadas. Além disso, os processos em si para a condução e atualização de RSs apresentam grandes dificuldades e desafios, principalmente para novatos na área de RSs e que têm sido a maioria dos principais autores dessas revisões. Dessa forma, disseminar as lições aprendidas sobre esses processos e suas atividades poderá certamente melhorar a qualidade dos resultados alcançados, bem como aumentar a produtividade durante a condução e atualização das revisões. Além disso, observa-se que muitas trabalhos têm sido erroneamente publicados como RSs, embora sejam de fato Mapeamentos Sistemáticos (MSs). Saber diferenciar RSs e MSs pode trazer importante contribuições para as áreas em que revisões e mapeamentos se encaixam. Este tutorial tem como principal objetivo apresentar as lições aprendidas que foram coletadas ao longo dos vários anos de pesquisas e ensino de RSs e também da experiência na condução e atualização de várias RSs na área de ES.

Breve CV
Katia Romero Felizardo é autora do livro “Revisão Sistemática da Literatura em Engenharia de Software:Teoria e Prática”, Ed. Elsevier, Rio de Janeiro, 2017, ISBN: 978-85-352-8597-0, foi professora na Universidade do Oeste Paulista (UNOESTE), Universidade Estadual de Londrina (UEL) e Fundação Faculdades Luiz Meneghel/Universidade do Norte do Paraná (FFALM – UENP) de 2004 até 2008. Ela recebeu seu doutoramento em Ciência da Computação pela Universidade de São Paulo (ICMC-USP), em 2012. Ela realizou seus estudos de pós- doutorado na mesma instituição. Atualmente, ela trabalha como professora na Universidade Tecnológica Federal do Paraná (UTFPR). Seus interesses de pesquisa incluem Revisão Sistemática, Engenharia de Software Experimental, Visualização de Informação e Mineração Visual de Dados. Uma lista de suas principais publicações podem ser encontradas em http://lattes.cnpq.br/3546986594133608

Elisa Yumi Nakagawa é autora do livro “Revisão Sistemática da Literatura em Engenharia de Software: Teoria e Prática”, Ed. Elsevier, Rio de Janeiro, 2017, ISBN: 978-85-352-8597-0, é professora associada do Departamento de Sistemas de Computação do Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo (ICMC/USP). Atua no Programa de Pós-Graduação em Ciências de Computação e Matemática Computacional do ICMC/USP (Nível 6 da Capes) como orientadora de alunos de mestrado e doutorado e como responsável ministrando disciplinas de pós-graduação. Também é co-orientadora de alunos de doutorado do Groningen Graduate School of Science da Universidade de Groningen, Holanda. Tem experiência na área de Engenharia de Software, atuando principalmente nos seguintes temas: arquitetura de software, arquitetura de referência, sistemas-de-sistemas, linha de produto de software, orientação a aspectos, componentes de software, ambientes e ferramentas de engenharia de software, teste de software, ontologia, software livre e revisões sistemáticas. Uma lista de suas principais publicações podem ser encontradas em http://lattes.cnpq.br/7494142007764616


Tutorial 3 – Quarta-feira, 20/09 – 09:00-10:30 & 10:45-12:15

Tutorialista
Prof. Dr. W. Eric Wong (University of Texas at Dallas)

Título
Software Test Generation: Lower Cost, Higher Coverage & Better Fault Detection

Resumo
Studies have shown that combinatorial testing can help programs detect hard-to-find software bugs that may not be revealed by test cases generated using other testing techniques. The first part of this tutorial focuses on traditional black-box requirements-based combinatorial testing. In particular, I will discuss results and lessons learned from two real-life industry applications: a control panel of a rail-road system and a Linux system.

The second part focuses on test generation to achieve high MC/DC coverage, a criterion required by the US Federal Aviation Administration on Level A (the most safety critical) system. I will explain a technique based on an enhanced concolic testing approach and constraint solvers. I will also present an easy-to-use MC/DC measurement tool, MCDC*, which provides an accurate measurement on MC/DC coverage for software written in multiple programming languages and helps practitioners in generating test cases that can achieve high MC/DC coverage in an effective way.

The third part extends the concept of combinatorial testing to a white-box structure-based setting. I will present an advanced coverage criterion, Combinatorial Decision Coverage, in conjunction with symbolic execution to achieve high coverage cost-effectively without suffering from potential space exploration.

Finally, I will explain how combinatorial testing can be applied to a graph-based methodology for testing IoT (Internet of Things).

Breve CV
W. Eric Wong received his M.S. and Ph.D. in Computer Science from Purdue University, West Lafayette, Indiana, USA. He is a Full Professor, the Director of International Outreach, and the Founding Director of Advanced Research Center for Software Testing and Quality Assurance (http://paris.utdallas.edu/stqa) in Computer Science at the University of Texas at Dallas (UTD). He also has an appointment as a guest researcher at the National Institute of Standards and Technology, an agency of the U.S. Department of Commerce. Prior to joining UTD, he was with Telcordia Technologies (formerly Bellcore) as a senior research scientist and the project manager in charge of Dependable Telecom Software Development.

Professor Wong is the recipient of the 2014 IEEE Reliability Society Engineer of the Year. He is also the Edit-in-Chief of the IEEE Transactions on Reliability. His research focuses on helping practitioners improve software quality while reducing production cost. In particular, he is working on software testing, program debugging, risk analysis, safety, and reliability. Professor Wong has published more than 180 papers and edited 2 books.

Professor Wong is the Founding Steering Committee Chair of the IEEE International Conference on Software Security and Reliability (SERE) and the IEEE International Workshop on Program Debugging. In 2015, the SERE conference and the QSIC conference (International Conference on Quality Software) merged into one large conference, QRS, with Q representing Quality, R for Reliability, and S for Security. Professor Wong continues to be the Steering Committee Chair of this new conference (http://paris.utdallas.edu/qrs).


Tutorial 4 – Quarta-feira, 20/09 – 13:30-15:30 & 15:35-16:45

Tutorialistas
Prof. Dr. Flavio Oquendo (IRISA – CNRS / Université de Bretagne-Sud – UBS – France)
Prof. Dr. Jair Cavalcanti Leite (UFRN)
Prof. Dra. Thais Vasconcelos Batista (UFRN)

Título
Modeling Software Architecture for the Internet of Things with SysADL
(o tutorial será ministrado em Português)

Resumo
Software architecture has become an important discipline, playing a key role in the specification of software-intensive systems. It is now included in regular computer science, computer engineering and software engineering courses at both graduate and undergraduate levels. However, there is still a lack of comprehensive approaches focusing on modeling software architectures. In this tutorial, we introduce the SysADL language and the SysADL Studio tool providing both theoretical concepts and practical examples in a systematic approach to architectural design. SysADL is a specialization of the OMG SysML standard to software architecture description and it brings together the expressive power of software architecture main concepts following the ISO/IEC/IEEE 42010 with a standard language used by the industry.

For modeling IoT systems, composed of a myriad of heterogeneous objects and physical devices, an ADL must support the definition of the objects and devices and their interconnection, as well as to allow an easy modification of the architecture and the specification of an architectural model with the ability of increasing the number of constituent objects and devices. In this tutorial we discuss how a SysML-based ADL (SysADL) can support the abovementioned requirements of IoT system modeling. With the three views of SysADL it is possible to specify the structure, behavior, and execution of an architectural model. IoT physical devices are modeled as components and their interconnections are modeled as connectors.

This tutorial targets software professionals and computing students and it is also supported by a book (Oquendo, Flavio, Leite, Jair, Batista, Thais: Software Architecture in Action: Designing and Executing Architectural Models with SysADL Grounded on the OMG SysML Standard, Springer, 2016) and accompanying tool to provide a practical approach to model software architectures from different viewpoints.

Breve CV
Thais Batista is full professor in the Informatics Department at the Federal University of Rio Grande do Norte (UFRN), Brazil. She is vice-president of the Brazilian Computer Society (SBC). She has been working with Software Architecture since 2000. Her research interests are architecture-based development, middleware, internet of things, cloud computing, and system-of-systems.

Jair C Leite is a full professor at the Federal University of Rio Grande do Norte (UFRN), Brazil.  He has been working with Software Design since 1998, including the disciplines of Software Architecture, User Interface Design, Web System Design and Real-time Software Design; and research interests in software architecture description language, user interface design languages, and social impacts in human-computer interaction. He is an active collaborator in groups of  interest in software engineering education and is a member of the Education Committee of the Brazilian Computer Society.


Tutorial 5 – Quinta-feira, 21/09 – 10:45-12:15 & 14:00-16:00

Tutorialista
Prof. Dr. Dieter Rombach (Fraunhofer Institute for Experimental Software Engineering)

Título
Research and technologies related to new software engineering challenges in the digitalization era

Resumo
Digital transformation is one major megatrend for the years to come. As digital transformation, we define the occurrence of new intelligent products (e.g., trucks that can diagnose themselves) or services (e.g., streaming services) as well as completely new business models (e.g., Uber) by means of interconnecting all things (physical products, digital items, and people) as well as using data intelligently. The resulting smart ecosystems appear in all sectors of Industry, public life as well as private life. These software systems are extremely complex, open, adaptive, and of high quality of service demands. Consequently, we have to adapt our software and system engineering approaches.

This tutorial complements Dr. Rombach keynote talk, further exploring challenges and solution. The entire presentation is supported by real-life examples and current research.

Breve CV
Prof. Dr. Dr. h.c. Dieter Rombach has held the Software Engineering Chair in the Department of Computer Science at the University of Kaiserslautern, Germany, since 1992. He was the Executive Director of Fraunhofer IESE from its foundation in 1996 until 2014 and became Director Business Development of Fraunhofer IESE and Deputy Chairman of the Board of the Science Alliance Kaiserslautern in 2015. He is a member of the Gesellschaft für Informatik (GI) and a Fellow of ACM and IEEE Computer Society. He has authored more than 200 scientific publications, received numerous awards, and serves as scientific advisor to business, industry, and government. From 1984-1991, he was Professor of Computer Science at the University of Maryland, and from 1986-1991 he was Project Manager at NASA/Goddard Space Flight Center.
Prof. Rombach’s main research topics can be found in the area of “Software Engineering”, especially in methods for developing software with predictable quality, in quantitative methods for measuring and assessing software products and software processes, in languages and methods for developing and using explicit software process models, in process-based software development environments as well as in software reuse. As a consultant, he works for various U.S. American and European companies.
In 1990, Prof. Rombach received the “Presidential Young Investigator Award” from the National Science Foundation (USA) “in recognition of his successful work in the area of Experimental Software Engineering”. For his exceptional services rendered to the state of Rhineland-Palatinate and his exemplary commitment to the good of society, he received the Order of Merit of the state of Rhineland-Palatinate in late 2000. Effective 1 January 2003, Prof. Rombach was appointed Fellow of the American Institute of Electrical and Electronics Engineers (IEEE) in recognition of his achievements in the area of Experimental Software Engineering.


Tutorial 6 – Sexta-feira, 22/09 – 10:45-12:15 & 14:00-16:00

Tutorialista
Prof. Dr. Igor Scaliante Wiese (UTFPR)

Título
Modelos de predição aplicados à Engenharia de Software

Resumo
Sistemas de software desempenham um papel cada vez mais importante em nossas vidas e a complexidade desses sistemas continua a aumentar.  Nesse cenário, pesquisadores têm utilizado modelos de predição para apoiar a tomada de decisão em diferentes atividades do ciclo de vida do desenvolvimento do software, como por exemplo, reduzir custos e esforço de manutenção, priorizar a realização de tarefas ou refatorações, prever mudanças conjuntas entre classes ou métodos, entre outros.

Este tutorial apresenta uma visão geral do uso das técnicas de construção de modelos de predição aplicados à Engenharia de Software. Serão discutidos também aspectos importantes relacionados à aplicação desses modelos, tais como, coleta de dados, métodos de validação, uso de testes estatísticos, tipos de modelos preditivos e métodos de avaliação.

Breve CV
Igor Wiese é doutor em Ciência da computação pelo Instituto de Matemática e Estatística da Universidade de São Paulo. Atualmente é professor assistente da Universidade Tecnológica Federal do Paraná – Campus Campo Mourão. É membro do Grupo de pesquisa de Engenharia de Software e Sistemas Colaborativos da Universidade de São Paulo. Seus interesses de pesquisa incluem o estudo de mineração de repositórios de software, software livre, aspectos humanos da engenharia de software e engenharia de software empírica. Mais detalhes sobre o tutorialista podem ser encontrados em: http:\\www.igorwiese.com