O evento terá a participação dos pesquisadores internacionais de Engenharia de Software Elaine Weyuker e Tom Ostrand, que ministrarão palestras e minicurso sobre previsões de falhas e testes para software. O seminário será proferido em inglês e é destinado para estudantes de graduação, pós-graduação da área, profissionais da indústria e demais interessados.
Weyuker fará, a partir das 9h30, a palestra Looking for Bugs in all the Right Places, que abordará previsões de falhas de sistema de sofware que são baseadas em características de código e de dados de histórico de falhas e de modificações.
A palestra Variations of the Fault Prediction Model ocorrerá a partir das 10h45 e será ministrada pelo pesquisador Tom Ostrand, que falará das variações para previsão de falhas no teste de software e de impactos sobre os resultados da previsão.
No período da tarde, das 14h30 às 16h, Weyuker e Ostrand ministrarão o mini-curso Learning to work together: Some stories, some issues, some solutions, que abordará formas de construção de casos de testes funcionais para software e diferentes perspectivas de pesquisadores e profissionais na tentativa de alinhar os objetivos de cada um dos grupos.
Confira a programação:
9:00 - Recepção e café
9:30 - Palestra - Looking for Bugs In all the Right Places (Elaine Weyuker)
10:45 - Palestra - Variations of the Fault Prediction Model (Tom Ostrand)
14:30h - 16h - Minicurso: Learning to work together: Some stories, some issues, some solutions (Elaine Weyuker e Tom Ostrand)
Local: auditório Fernão Stella de Rodrigues Germano (bloco-6). O ICMC fica no Campus 1, Av. Trabalhador são-carlense, 400.
Para inscrições: icmc.usp.br/e/9932e
Sobre os palestrantes:
Tom Ostrand has been a software researcher at AT&T Labs, Siemens Corporate Research, and Sperry Univac, and a member of the Computer Science Department of Rutgers University. He is presently a Visting Scholar at the Rutgers Center for Discrete Math and Computer Science. His research interests include software fault analysis and prediction, test generation and evaluation, and tools to aid software development and testing.
Tom is a life senior member of the ACM, and a past Member-at-Large of the ACM/SIGSOFT Executive Committee. He has served as Program Chair and Steering Committee member of the International Symposium on Software Testing and Analysis, and of the PROMISE Conference on Predictive Models in Software Engineering. He co-chaired the industry track of the 2012 International Conference on Software Testing. Tom has served as associate editor of the Empirical Software Engineering journal and IEEE Transactions on Software Engineering.
Elaine Weyuker is currently an independent consultant, having worked as a Distinguished Member of the Technical Staff at AT&T Labs, a Professor of Computer Science at the Courant Institute of Mathematical Sciences of NYU, a Lecturer at the City University of New York, a Systems Engineer at IBM, and a programmer at Texaco. Her research focuses on empirical software engineering and techniques to build highly reliable and dependable software. Much of her recent research involved designing techniques, building statistical models and developing a tool to automatically predict which files of large industrial software systems are most likely to contain bugs, for which she holds a patent.
She is a member of the U.S. National Academy of Engineering, an IEEE Fellow, an ACM Fellow and an AT&T Fellow. She is the author of 170 refereed publications as well as several books and book chapters. Among her awards are the 2012 US President's volunteer service award, the 2010 ACM President's Award, the 2008 Anita Borg Institute Technical Leadership Award for Outstanding Research and Technical Leadership, the 2007 ACM SIGSOFT Outstanding Research Award, the 2004 IEEE Computer Society Harlan D. Mills Award, the Rutgers University 50th Anniversary Outstanding Alumni Award, the 2001 YWCA Woman of Achievement Award, and the 2004 AT&T Chairman's Diversity Award. She served as the chair of the ACM Council on Women in Computing (ACM-W) from 2004 - 2012 and has been a member of the Coalition to Diversify Computing's Executive Committee for many years.
Resumo das palestras e do minicurso:
Resumo da palestra Looking for Bugs in all the Right Places
It would obviously be very valuable to know in advance which files in the next release of a large software system are most likely to contain the largest numbers of faults. To accomplish this, we developed negative binomial regression models and used them to predict the expected number of faults in each file of the next release of a software system. The predictions are based on code characteristics and fault and modification history data. This talk discusses what we have learned from applying the model to nine large industrial systems, each with multiple years of field exposure, ranging in size from several hundreds of lines of code, to millions of lines of code.
We will also discusses our success in making accurate predictions and some of the issues that had to be considered.
Resumo da palestra Variations of the Fault Prediction Model
Although the Standard Model for fault prediction that is based on file size, prior code changes, prior code faults, age of the code, and language has performed very well for predicting fault-prone files, we have investigated several additions to the standard set of predictor variables. We built models that included the following variations:
- calling structure of the software system
- counts of the number of developers involved with the software
- fine-grained counts of changes made to the software.
This talk will describe these variations and their impact on the prediction results, as well as na attempt to assess the influence of individual programmers on the fault-proneness of files.
Resumo do mini-curso Learning to work together: Some stories, some issues, some solutions
Category-partition is a systematic way to construct functional test cases for software. A test engineer analyzes the system specification, and writes a formal test specification that is processed by a generator tool to produce test case descriptions. The test specification describes how to combine values of the software's input parameters and operating environment to form significant test cases.
Constraints can be inserted into the test specification in order to control the complexity and the number of generated test cases. Because the test specification is based on a system's desired functionality, it can be created before system design or coding begin, providing an independent check for errors and inconsistencies in the functional specs.
In addition, test cases can be created early and will be ready for execution as soon as the code is available. The category-partition approach is an example of a testing research project that successfully transitioned to industrial practice.
We will briefly discuss two other testing research projects and look at their trajectories and try to understand what project characteristics help ensure successful adoption by practitioners and what characteristics are less likely to lead to success. Finally we will look at the different perspectives of researchers and practitioners and try to highlight ways of aligning the goals of these two different groups.
Por Assessoria de Comunicação NAP-SoL