Patrocínio







  • free counters


XXVI Simpósio Brasileiro de Engenharia de Software (SBES)

Palestras




Concurrent Programming is Easy
Bertrand Meyer (Swiss Federal Institute of Technology)


Software: Good, Bad, or Just a Matter of Taste?
Arie van Deursen (Delft University of Technology, Netherlands)


A Engenharia e o Software: reflexões de um aprendiz na Cidade do Sol
Guilherme Horta Travassos (COPPE-UFRJ)



Concurrent Programming is Easy

Bertrand Meyer (Swiss Federal Institute of Technology)

Resumo


Concurrency is an ever more indispensable part of modern programming. It is supposed to be hard -- very hard; with dominant techniques, such as threading mechanisms, the level of abstraction is low, the risk of error (especially data races and deadlock) high, and debugging a nightmare. Theoretical models such as calculi are elegant but far from the practice of programming. Programmers need techniques that are simple, easy to learn, and fit well in their current reasoning patterns. We have developed, and implemented for Eiffel, a simple extension to object-oriented programming that covers concurrency, lets programmers reason about their programs the way they are used to in sequential programming, protects them against mistakes (data races in particular are impossible), and covers a wide range of concurrency applications. The model, SCOOP, has been in development for many years and is currently enjoying a new impetus as part of an ERC Advanced Investigator Project. I will describe the core ideas and the current work towards formal verification, distributed computing and other new extensions.


Software: Good, Bad, or Just a Matter of Taste?

Arie van Deursen (Delft University of Technology, Netherlands)

Resumo


In matters of taste, there can be no dispute. But is there a way to distinguish good software from bad? In this presentation we will look at software quality empirically, from various dimensions. A first question is what developers think about quality. What can we learn from them by interviewing them? Does a quality attribute like testability matter to them? What do they do about it? A second perspective is the history of a software system as recorded in a version management system. What can we learn from, e.g., module co-change about the level of encapsulation? A third perspective is software metrics: are there metrics that can predict future quality? In this presentation we will look at these various issues, explore the various empirical findings, and assess their impact for both research and software engineering practice.


A Engenharia e o Software: reflexões de um aprendiz na Cidade do Sol

Guilherme Horta Travassos (COPPE-UFRJ)

Resumo


O aforismo da Engenharia de Software indica o  desenvolvimento de produtos em menor tempo, melhor qualidade, maior produtividade e menor custo. Entretanto, apesar dos avanços obtidos em campo, o desenvolvimento de software ainda aparenta ser muito influenciado por crenças e mitos nem sempre ingênuos. Esta influencia pode ser observada nas organizações e equipes de desenvolvimento com foco mais no software e menos na sua engenharia. Esta perspectiva,  quando combinada  com a pressão de mercado e a falta de conhecimento sobre os princípios de engenharia e os limites das tecnologias disponíveis, leva a situações de risco em projetos de difícil mitigação caso evidências (da academia e da indústria) que permitam apoiar as decisões não estejam disponíveis. Com base neste cenário, esta palestra intenciona apresentar algumas reflexões sobre a aplicação dos princípios do método científico para apoiar o desenvolvimento de tecnologias de software, com base no processo de aprendizado vivenciado pelo pesquisador, e discutir desafios relacionados ao fortalecimento da engenharia de software como ciência visando a evolução experimental da área.