Soccer-lab

subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link | subglobal1 link
subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link | subglobal2 link
subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link | subglobal3 link
subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link | subglobal4 link
subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link
subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link
subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link
subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link

Research Activities

small logo

Research Activities in Soccer-lab

Here is the list of research activities in the Soccer- lab

  1. Traceability and Evolution
  2. Evolution over time
  3. Distributed development and evolution

Traceability and evolution


Very often,  change and evolution  activities focus only on  fixing defects after  a  software system  has  been deployed.  While  the  source code  is evolving, the  architecture, design and  documentation are not  updated. In contrast,  in our  vision of  the  process, software  change and  evolution should  take place in  a disciplined,  intelligent and  economically viable way.
 
There  is the need  to investigate  methods and  approaches to  recover and validate traceability links between  software artifacts at different levels of abstraction. Great savings can be obtained if automatic or semiautomatic approaches are  used to help assess traceability  links. Those traceability links can be  subsequently exploited to evaluate the  impact of changes, to define the priority  and schedule the order of changes,  and to ensure that changes didn't affect expected behavior.
 
A   second    issue   is    related   to   traceability    of   behavioral information.  Traceability  links  must  be established  not  only  between artifacts  describing the  software structure,  but also  between artifacts detailing the  interaction of components  and the component  semantics.  We hold that traceability must be  extended to documents such as UML sequence, activity and state  diagrams. This in turn requires  that as-is information be recovered or validated on an existing system. Recovering interaction and semantic information is itself  challenging. Preliminary results to recover behavioral  information   have  been  achieved  by   researchers  such  as L. Briand, M. Ernst, E. Makinen,  T. Systa and M. J. Harrold. This research should rely  on approaches already  available to collect scenario  data and infer sequence diagrams (e.g. L.  Briand Carleton TR-SCE-04-04); this is to say that research focus should be concentrated on traceability mapping.

Evolution over time

The  horizontal dimension  for a  given abstraction  level (e.g.  design or code) is  the dimension in  which artifacts evolve  over time. Most  of the approaches developed to recover and validate vertical traceability mappings are readily available for this dimension.
 
When  considered  within a  context  of  horizontal evolution,  code-region duplication (non- duplication) corresponds  to unchanged (changed) areas of code across releases. This information  is critical to the  development of models  used to  predict the  effort that  will be  required to  change and evolve  software applications, and  also helps  identify elements  that are more evolvable  than others.  Based on  recent results and  extension in OO clone  detection,  we  will  study   the  evolvability  of  OO  design  and architectural  patterns. The  goal  is to  identify  patterns that  promote program   understanding   and   changeability,  thereby   reducing   defect density. It  is worth pointing  out that virtually  no work exists  in this area; for example, no empirical evidence  is available as to whether or not OO  design patterns  promote program  comprehension, and  only a  few works address the problem of OO design pattern defects.

Distributed development and evolution

Software systems represent valuable company assets that must be preserved over time. Change and evolution management policies and strategies involve at least two different levels of granularity: the macro and micro levels. The macro level is that at which a company manages its IT portfolio and makes macro-economic decisions. For instance, should a company wish to replace an existing IT component with a new software system, it must first conduct a feasibility assessment. The variables involved include the company's financial status, anticipated market trends, the costs of acquiring a new software product and training employees, total cost of ownership of the new software, and the cost of data migration. Other variables driving the decision have to be considered as well: for example, the risks associated with possible failure in data migration or with the software vendor's financial status and liability. The micro level refers to project-level company decisions. Going on with our example, once the decision to evolve the proprietary software has been made, the software change and evolution process has to actually be implemented. This in turn calls for decisions such as partially or entirely outsourcing the maintenance and evolution process, defining the staffing level and evolution plan, reshaping the workforce, organizing the work packages, or defining schedules using Pert and Gantt charts. The already complex situation is made even more challenging by a new industry trend. Traditionally, the choice was either to make or to buy. However, the new market created by the service-oriented paradigm offers a new opportunity: instead of buying or making, it is now possible to rent a service. This research focuses on approaches to alleviating the issues mentioned above. Macro- and micro-level decisions are interconnected, the former being influenced by the latter, and vice-versa. Research will be set within the framework of planning and managing distributed software change and evolution projects. Distribution enables expertise to be drawn into play in spite of geographical distance, thus reducing costs. However, distributed software projects are more complex to plan, manage and co-ordinate than a single site project.