Tuesday, September 23, 2008

Six Steps to Develop a Good Survey

Often, we researchers and scientists have to understand, evaluate, and learn different methods, processes, techniques, technologies, and so on. We discussed previously the importance of empirical studies in the area. On the other hand, another important and probable the most used research method are Surveys.

If you take look, we are often asked to participate in surveys in our life, in different roles such as: electors, consumers, service user, and so on. Doing research, many times we have to design a survey to understand and characterize some particular phenomena. However, in some situations, we forget that there is a bunch of important material about it published in other sciences and, specially, in the software engineering area.

I am designing a survey to characterize the state of reuse measurement based on expert opinion and the series of paper published by Shari Pfleeger and her colleagues were and are being extremely valuable. Thus, if you need to understand, design, construct, and evaluate a survey, I strongly recommending these papers [P1, P2, P3, P4, P5, P6]. These papers gathered experience in the field during the last years and are extremely important for someone interested in this activity.

Regarding to reuse are, I recommend for example two papers in this direction [P1, P2]. The second one presents the state of software reuse in Brazil conducted by RiSE.

Sunday, September 14, 2008

12th International Software Product Line Conference (SPLC) - Conference Report

Last week, during September 8-12, in Limerick, Ireland, was held the 12th International Software Product Line Conference (SPLC). The conference put together more than 220 researchers and practitioners from several places around the world interested in several issues about software product lines.

In the first day, initial ideas were discussed in four workshops approaching Dynamic Software Product Lines (a mix from adaptive systems, middleware and SPL ideas), Aspect Oriented and SPL (conducted by Vander Alves and his colleagues), Service-Oriented Architectures and Software Product Lines and Software Product Line Testing. In my opinion, these workshops discussed current hot topics in the field with some ones more consolidated than others. For example, the community does not have a common understanding about Dynamic Software Product Lines yet. On the other hand, some areas such as testing and AOP start to be more concrete with the integration. In addition, some tutorials were also important to disseminate the topic.

On Tuesday, we had the first keynote speaker: David Parnas. David started discussing his inspiration with the Fred Brooks’ work, and discussed his brilliant ideas about program families and other experiences. His talk was titled Multi-Dimensional Software Families: Document Defined Partitions of a Set of Products. David also discussed about the importance of documentation in software development. Another remarkable moment was his warning about the paper counting process, it was very important. David said that one important point in his papers is that it is still applicable today and makes total sense [This book is a compilation of his work. I strongly recommend it.].
For me, it was special because one day before I was introduced to him by David Weiss. I did not have much time to talk to him but it is very good when you have the opportunity to meet someone that was inspiration in the field for you. David said about his experience in Brazil years ago and other points. My first advice here is to carry on your camera all the time. [I did not have my camera there]. After the talk, David left the conference. Actually, I would like to see him more around.

Next, the sessions were started in parallel. The first one, involving feature models and the second one: SPL experiences. I decided attendant for the second one and it was good. Experiences in banks, automotive and embedded were presented. In this section, Dirk Muthig and his colleagues from Fraunhofer Institute showed their two experiences. Closing the sessions, time for lunch and discussing SPL with different people. In the afternoon sessions, information retrieval and clustering were integrated to discover product lines requirements. At the same time, it was started a panel with experts on scoping. I decided to keep my focus on the first area but I would like to see the second too. During the last sessions, after coffee, I decided to do a merge and saw a presentation about clone detection and SPL and switched for the other room to participate in a good discussion about the SPL roots and its foundations in the software reuse (during the Software Productivity Consortium) area by Grady Campbell. In the end of the day, we went to a reception in a pub with music, food and few of the Irish culture.

On Wednesday, the second keynote speaker, Luc Koch from Phillips Medical System, presented their experience in Phillips Healthcare discussing the past, present and future of this effort. Next, the sessions started and I had to decide again which one to attendant. I did a good choice and DSL and Code Generation was widely discussed. In the afternoon, I participated in a working session about the possible integration between Agile and SPL. It was very good and you can see the summary here. Finally, we ended up in the conference dinner in Irish castle. It was awesome with wine, dance, music, food and more wine.

On Thursday, the conference started with an industrial panel leaded by Charlie Krueger and other companies discussing their experiences in the field. It showed different views and impressions by the companies with different levels of expertise. After the panel, the sessions started and I participated in one about Service-Oriented Product Lines. It was very good but we can see that we have too much room for research in this direction.

After that, it was time to see some tools demo and participated in the Product Line Hall of Fame conducted by David Weiss and Paul Clements. That was awesome. The ceremony is very good with perfect sound, video, lights and sure, their presentation. Everybody loved it. Two companies were nominated. The first one was conducted by Krueger.

In the last day, we have another good agenda with some tutorials, workshops and the Doctoral Symposium. I decided to participate in the last one for two reasons: the first one because I will be the Doctoral Symposium chair in the next year, and the second one, because I was interested in seeing the new research in the field and the future new researchers. The session was conducted by Klaus Schmid and had four presentations discussing since agile and SPL until testing and aspect. The good point here was to see one work from Brazil there. After that, the conference finished.

In summary, the conference was very good with people from industry and academy from different countries, with new ideas, tools and important experiences. Next year, I hope see you in San Francisco, California.

Get the call for papers here.

Tuesday, September 9, 2008

34th IEEE EUROMICRO Conference

During the last week, from September 3rd to 5th, the 34th IEEE EUROMICRO Conference on Software Engineering and Advanced Applications was held in Parma, Italy. Two papers from RiSE group have been accepted for the conference: the first is entitled “A Case Study in Software Product Lines – The Case of the Mobile Game Domain”, from Leandro Nascimento, Eduardo Almeida and Silvio Meira; the other one is entitled “InCoME: Integrated Cost Model for Product Line Engineering”, Jarley Nobrega, Eduardo Almeida and Silvio Meira. I had the pleasure to attend to the conference and present both papers.

The conference was composed of keynote speeches and special sessions including regular papers, work in progress and posters (see the program here).

The keynote speeches were held in the mornings and the special sessions in the afternoons, handling different topics and bringing great discussions among the participants. My presentation was held in the first day of the conference, September 3rd, in the Component-Based Software Engineering (CBSE) track. Two special sessions occurred in this first day: Services and Product Lines. In this last special session, I presented firstly the Jarley’s work followed by my work. During both presentations relevant questions and suggestions came up contributing significantly to the progress of both works. At the end of the day, a welcome cocktail was served in the Palazzo Sanvitale, giving the participants the opportunity to taste a typical Parmesan Cheese.

In the second day of EUROMICRO conference, I participated in two special sessions in the CBSE track: OSGi and Embedded Systems. As it was not a surprise, OSGi has got one dedicated special session as it is considered the new buzzword in academia in aspects related to Component-Based Development (CBD). As the technology is being applied in different context in practice, the three works in OSGi session presented practical solutions for real problems involving bundle updates, resource monitoring in OSGi-based components and OSGi stale references. In the sequence, the Embedded Systems session included papers describing techniques for CBD in the embedded systems context. At the end of the day, we attended to a concert by Corale Verdi, a world famous chorus specialized in opera pieces, followed by a social dinner at Cavallino Bianco.

In the last day of conference, I attended to a special session also in CBSE track named Component Models. Topics related to Model-Driven Development (MDD) and compositional CBD for embedded systems were covered in this special session.

It is very grateful to see the academia recognition of RiSE’s work in different conferences around the world as you could see in older posts in this blog. I hope to see many other posts like this written by conference attendees from RiSE group.

Friday, September 5, 2008

Computer Science and Software Engineering Ranking

Many times, I have met students and they ask me a similar question: What are the best universities and research centers in computer science and software engineering? Who are the main researchers in the software engineering area?

It is a complex question. However, some recent research addressed by important researchers can present some insights. These research were published in the main journals in the field and sure offer a good baseline.

Think in some universities, research labs, and researchers for computer science and software engineering around the world, write your opinion and check the results here [R1,R2, R3, R4]. However, it is important highlights that it is not a final and universal ranking.