Bill Frakes in his website asked to Ted Biggerstaff one of the pioneers in software reuse and specialist in the software generators area, how big should be a reusable component.
What do you thing about it?
Monday, March 31, 2008
Thursday, March 20, 2008
ACM/SAC 2008 Impressions
The ACM/SAC 2008 was held at Fortaleza-CE, Brazil from March, 16th until 20th. The conference achieved the record of 500 participants from 75 different countries participating and discussing the state-of-the-art in computer science. The track sessions ran in five rooms simultaneously during all day with free access for anyone who intends to participate. The most interaction among the participants, however, was observed during the poster sessions due to the fact that they were more relaxed and less formal. The Information Access and Retrieval Track (IAR), in particular, presented many interesting works mainly concerned in the relevance of the searches. Most of works have showed the use of adjacent technologies for increasing the semantics of their mechanisms such as latent semantic analysis, semantic web resources, term selection analysis and the use of location-based spatial queries. Although the track sessions joined people interested in the specific topic of research, at night, dinners contributed for creating a very pleasant atmosphere where participants could narrow relationships and implement the “true” network. In spite of this conference had been considered the biggest one in the history of ACM, a negative point was evidenced by the number of absences, in general, 25% of authors per session did not appear for their presentations, maybe due to the high cost of the flight to Brazil. On the other hand, it was great to see how research in Brazil is well-known and respected abroad. Next year, ACM/SAC 2009 will be held in Honolulu, Hawaii, USA. See you there !
These impressions were shared with my roommates Márcio Ribeiro, advised by Paulo Borba (UFPE) and Rodrigo Teixeira, advised by Augusto Sampaio (UFPE). Both also had poster and paper accepted in the conference.
Labels:
conferences,
reuse conferences,
RiSE papers,
rise research
Tuesday, March 18, 2008
Hot Jobs in IT for 2008
This week, was published a very good research about jobs in IT for 2008. The research involves the salary guide, skills, ranks, a discussion about visas and etc. Take a time to read it.
Thursday, March 13, 2008
Journal of the Brazilian Computer Society - Special Issue on Software Reuse
Today was published the new issue the Journal of the Brazilian Computer Society (JBCS). In this special issue the focus was Software Reuse: Methods, Processes, Tools and Experiences. The guest editors were me, and the professors Silvio Meira and Bill Frakes.
The call for this special issue attracted 15 submissions and the papers were reviewed by at least three reviewers. Based on the reviewers’ recommendations, 4 papers were finally accepted, which corresponds to a relevant acceptance rate that reflects the high quality of the papers in this special issue. The papers involve aspects related to software component, software product lines and quality in software reuse.
You can see the free digital version here.
Labels:
education,
papers,
RiSE papers,
rise research
Monday, March 10, 2008
Model Search Evaluation - part 2
Hello folks. First of all, thanks to everyone who helped after my last post regarding this subject. When trying to find models for this evaluation, we again noticed that a model-specific search engine is needed if more serious model searching is to be performed. It was very difficult to do so without a dedicated search engine, and we intend to put this search engine together and help others to find models for teaching and/or reusing. With MDD gaining strength, and models becoming more important as software assets, this may turn out to be a much needed improvement in the near future.
Now we need your help once again. If you are interested in the results of a model search engine, please take some time to access the following link:
http://guarana.intermidia.icmc.usp.br/moogle/evaluation/start.jsp
and perform the on-line evaluation. It is self-explained, contains a little tutorial, and will allow you to take a good look of how the model search engine works. It does not require any download or installation, and takes a quick time (around 15-20 minutes). By doing so, you will help in this project, which is still in the beginning, but will hopefully bring some contributions for the MDD and reuse areas.
Thanks
Now we need your help once again. If you are interested in the results of a model search engine, please take some time to access the following link:
http://guarana.intermidia.icmc.usp.br/moogle/evaluation/start.jsp
and perform the on-line evaluation. It is self-explained, contains a little tutorial, and will allow you to take a good look of how the model search engine works. It does not require any download or installation, and takes a quick time (around 15-20 minutes). By doing so, you will help in this project, which is still in the beginning, but will hopefully bring some contributions for the MDD and reuse areas.
Thanks
Wednesday, March 5, 2008
Measurement: A quick start
Today, this blog will start some discussions related to the roots about software reuse: the productivity issue. These discussions will approach productivity in general, software metrics and, finally, software reuse metrics. We will begin with an important aspect when we are talking about productivity: Measurement. What is it and why we have to do it is the point inspired by Fenton & Pfleeger’s texts.
In our life, day by day we are applying measurements in our activities, jobs, etc. For example, we have economic measurements to determine the prices; measurements in radar and medical systems in order to diagnose illnesses, weather prediction etc. Thus, measurement helps us to understand the world, interact with it and, in some sense, improve our lives based on it.
These are examples of measurements, but a more formal definition stated by Fenton & Pfleeger is that: “Measurement is the process by which numbers or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined rules”.
But, what are the attributes and entities in their definition? Let us start with entities. An entity is an object (such as a person or a room, for example) or an event (such as a journey in a road or the testing phase of a software project) in the real world. On the other hand, an attribute is a feature or property of an entity. Typical attributes include the distance (of a journey) and its cost, or the time (during the test phase). In our life, we talk about entities and their attributes interchangeably. However, as highlighted by Fenton & Pfleeger, it is wrong to say that we measure things or that we measure attributes; in fact, we measure attributes of things. Thus, we can make judgments about entities by knowing and analyzing their attributes.
However, in this process, we have some difficulties issues which should be analyzed to avoid false assumptions:
1. In general, the accuracy of a measure depends on the measuring instrument as well as on the definition of the measurement. However, some measures are not likely to be accurate, either because the measurement is imprecise or because it depends on the judgment of the person doing the measuring. Think in soccer, how to define a good player or the best team?
2. Even when the measuring devices are reliable and used properly, there is margin for error in measuring the best understood physical attributes. Thus, how do we decide when error margins are acceptable and which are not?
3. When is a scale acceptable for the purpose to which it is put?
In general, we can see measurement and electrical, mechanical, and civil engineering. On the other hand, it is not often in software engineering and in some projects: we fail to set measurable targets for the products; to understand and quantify the component costs of software projects; and we do not quantify or predict the quality of the products which we produce. Moreover, when measurements are made, they are done infrequently, inconsistently, and incompletely. For example, you can remember a software engineer saying that in his code was found just 10 faults in 5000 lines of code. But, often we think: how these results were obtained, how this analysis was performed and interpreted, what entities were measured and how….Thus, as you can see, measurement in software engineering needs a rigorous approach to do it.
In summary, it is good to remember: even when a project is not in trouble, measurement is useful and necessary because how can you tell: ok, my project was a successful? How can we compare our project with some baseline? How to identify points to corrective action? Measurement is useful to understand, control and improvement the work. Thus, remember Tom DeMarco when he said:
“You cannot control what you cannot measure”.
Remember also of managing the expectations of those who will make measurement-based decisions. Explain about the limited accuracy of prediction and the margin of error in the measurement.
In our life, day by day we are applying measurements in our activities, jobs, etc. For example, we have economic measurements to determine the prices; measurements in radar and medical systems in order to diagnose illnesses, weather prediction etc. Thus, measurement helps us to understand the world, interact with it and, in some sense, improve our lives based on it.
These are examples of measurements, but a more formal definition stated by Fenton & Pfleeger is that: “Measurement is the process by which numbers or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined rules”.
But, what are the attributes and entities in their definition? Let us start with entities. An entity is an object (such as a person or a room, for example) or an event (such as a journey in a road or the testing phase of a software project) in the real world. On the other hand, an attribute is a feature or property of an entity. Typical attributes include the distance (of a journey) and its cost, or the time (during the test phase). In our life, we talk about entities and their attributes interchangeably. However, as highlighted by Fenton & Pfleeger, it is wrong to say that we measure things or that we measure attributes; in fact, we measure attributes of things. Thus, we can make judgments about entities by knowing and analyzing their attributes.
However, in this process, we have some difficulties issues which should be analyzed to avoid false assumptions:
1. In general, the accuracy of a measure depends on the measuring instrument as well as on the definition of the measurement. However, some measures are not likely to be accurate, either because the measurement is imprecise or because it depends on the judgment of the person doing the measuring. Think in soccer, how to define a good player or the best team?
2. Even when the measuring devices are reliable and used properly, there is margin for error in measuring the best understood physical attributes. Thus, how do we decide when error margins are acceptable and which are not?
3. When is a scale acceptable for the purpose to which it is put?
In general, we can see measurement and electrical, mechanical, and civil engineering. On the other hand, it is not often in software engineering and in some projects: we fail to set measurable targets for the products; to understand and quantify the component costs of software projects; and we do not quantify or predict the quality of the products which we produce. Moreover, when measurements are made, they are done infrequently, inconsistently, and incompletely. For example, you can remember a software engineer saying that in his code was found just 10 faults in 5000 lines of code. But, often we think: how these results were obtained, how this analysis was performed and interpreted, what entities were measured and how….Thus, as you can see, measurement in software engineering needs a rigorous approach to do it.
In summary, it is good to remember: even when a project is not in trouble, measurement is useful and necessary because how can you tell: ok, my project was a successful? How can we compare our project with some baseline? How to identify points to corrective action? Measurement is useful to understand, control and improvement the work. Thus, remember Tom DeMarco when he said:
“You cannot control what you cannot measure”.
Remember also of managing the expectations of those who will make measurement-based decisions. Explain about the limited accuracy of prediction and the margin of error in the measurement.
Labels:
measurement,
metrics,
research,
rise research
Saturday, March 1, 2008
7th IEEE International Conference on Composition-Based Software Systems (ICCBSS)
Today, it was finished the 7th International Conference on Composition-Based Software Systems (ICCBSS), hosted in Madrid, Spain, during February, 25-29. The conference which had about 80 attendants from university and industry had as the main keynote speakers the notorious professor Ian Sommerville and the distinguished software engineer at IBM, Alan Brown.
The conference discussed issues related to interoperability, methods to systems adaptation, customiation, testing and secutiry, besides exploring strongly Service-Oriented Computing, especially, Service-Oriented Architecture. In his talk, Alan Brown approached it with the talk "Practical Approaches to Delivering Service-Oriented Solutions: The Role of Software Architects and Architecture in an SOA World" highlighting the current state-of-the-practice, the RUP update for SOA, and some specific techniques used there. Alan experience on the topic was very exciting. As a friend said it is incredible to hear a software engineer talking about his experience, results and challengers.
In the conference, the RiSE was represented with a paper about Domain Implementation in Software Product Lines using OSGi which showed our initial experience with this technology in the field of product lines as a structured method.
The conference discussed issues related to interoperability, methods to systems adaptation, customiation, testing and secutiry, besides exploring strongly Service-Oriented Computing, especially, Service-Oriented Architecture. In his talk, Alan Brown approached it with the talk "Practical Approaches to Delivering Service-Oriented Solutions: The Role of Software Architects and Architecture in an SOA World" highlighting the current state-of-the-practice, the RUP update for SOA, and some specific techniques used there. Alan experience on the topic was very exciting. As a friend said it is incredible to hear a software engineer talking about his experience, results and challengers.
In the conference, the RiSE was represented with a paper about Domain Implementation in Software Product Lines using OSGi which showed our initial experience with this technology in the field of product lines as a structured method.
By the way, an important topic which I would like to highlight is the hype on Service-Oriented Computing. Last week, I had a small meeting with some researchers and students at Virginia Tech University and this aspect was also discussed from different point of views including reuse. At RiSE this topic is also being explored with methods and systematic ways to perform it. We hope in the future post more discussions about it especially related to reuse which is starting to happen.
For the interested, the next conference will be in U.S. on February. So put it in your agenda.
For the interested, the next conference will be in U.S. on February. So put it in your agenda.
Subscribe to:
Posts (Atom)