INES – National Institute of Science and Technology for Software Engineering

RSS feed


September 2023
« Nov    

  • INES at ICSR 2015

    Publicado em April 6th, 2015Publications

    INES researcher Uirá Kulesza attended the ICSR 2015 – International Conference on Software Reuse.

    His participation is part of the activities of the project “Definição de um Testbed para o Desenvolvimento de Software”

  • Investigating Algorithms, Techniques and Tools for Search Based Software Engineering

    Publicado em March 27th, 2012About the Institute, Award, Expenses, News, Projects, Uncategorized

    Search Based Software Engineering (SBSE) is an emerging field in which Software Engineering problems are reformulated and modeled as optimization problems, and subsequently are solved using concepts, techniques, algorithms and search strategies. The search goal is to identify, among all possible solutions, one that is good enough according to appropriate metrics. The reformulation allows that problems, previously resolved by adopting intensively manual and intuitive methods, can be solved wholly or partially in a systematic and automated way. In addition, SBSE can provide solutions to problems considered intractable by other methods and techniques of Software Engineering, often leading to innovative solutions, not anticipated or even imagined.

    In such a context, the aim of this project is to adopt, investigate, evaluate and develop SBSE concepts, algorithms, techniques and strategies in order to solve problems that arise in several areas of the Software Engineering discipline. The scope is widely open for different types of problems. However, initially, it focuses on developing approaches for composition, selection and allocation of software development teams, in both co-located and distributed settings. In particular, this project will take into account problems related to communication and coordination among software development teams, which are geographically distributed around the world. As widely known, such communication and coordination problems arises due to their different technical skills, and, mainly, conflicting cultural, social, organizational and even legal aspects, that, jointly, can significantly impact on software development cost, time and quality. Besides, the project also deals with problems related to search, selection and certification of software components in the context of Global Software Development (GSD) applied to Software Product Lines (SPL).

    , , ,
  • Dependable Evolution of Software Product Lines

    Publicado em March 21st, 2012Projects

    An important competitive differential for software factories is the ability to launch similar products customized to the clients, in a fast and cost-reduced way, without compromising quality. This has been possible through software product line engineering. A software product line (PL) is a set of related software products that are generated from reusable assets. Products are related in the sense that they share common functionality. Assets correspond to components, classes, property files, and other artifacts that we compose or instantiate in different ways to specify or build the different products. This kind of reuse targeted at a specific set of products can bring significant productivity and time to market improvements.

    To obtain the benefits associated to the PL approach with reduced upfront investment, we can minimize the initial PL analysis and development process by bootstrapping existing related products into a PL. Through an extraction process, we separate variations from common parts and then discard duplicated common parts. A similar process applies to PL evolution, when, for instance, adding a new product requires extracting variations from parts previously shared by a number of products.

    Although useful to reduce initial investments and risks, this extraction and evolution process can be costly and tiresome. Manually extracting and modifying different code fragments, besides other kinds of assets, requires substantial effort, especially for checking necessary conditions to ensure that the evolution can be performed in a safe way. Nonetheless, it can also introduce defects, compromising the PL benefits in other cost and risk dimensions.

    We believe that the PL extraction and evolution process can benefit from semi-automatic refactorings, with formal basis, to ensure correctness and avoid running tests after the refactoring. Applying semi-automatic refactorings, guided by the developer, has the advantage of guaranteeing refactoring by construction. However, it imposes restrictions over the involved assets, such as the use of reflection, and demands from the developer the knowledge of the available transformations and the ability to identify which ones are better suited for a given situation. When the developer does not have such knowledge and ability, it is important to count with an alternative: verifying, ‘a posteriori’, that modifications to a PL really consist of a refactoring can be automatically performed in various situations, and approximated in the remaining ones.

    However, existing refactoring notions focus on justifying the transformation of a single program into another, they do not consider transforming a PL into another, or a set of a programs into a PL. In fact, a PL can have conflicting artifacts, such as two classes with the main method, or two versions of the same configuration file, which makes the assets from a PL an invalid program. This prevents such assets set to benefit from existing refactoring notions. Beyond such program refactoring limitations – without mentioning requirements, tests and design models – in a PL, we tipically need extra elements to automatically generate products: Feature Models (FMs) and Configuration Knowledge (CK).

    For these reasons, this project intends to propose, formalize, implement, and evaluate refactorings and refactoring checkers for PLs. In particular, we will define and implement refactoring catalogues, based on a behavior-preserving refinement notion. We will have catalogues that modify the PL as a whole, as well as individually modifying FMs and CK. Separate modifications to FM and CK are important to support compositional PL evolution. Besides that, we will reuse existing program and model refactoring catalogues for different languages. Similarly, we will have checkers for specific situations, such as when we modify only a single PL element (FM, CK, or assets), and checkers for changes that affect the PL as a whole.

    , , , ,
  • INES researchers are going to visit PUC-RJ in November

    Publicado em October 14th, 2010News

    INES researchers Felype Santiago, Leopoldo Teixeira and Márcio Ribeiro are going to present results on SPL Refactoring, Emergent Feature Modularization, TaRGeT Product Line and possibilities of colaboration to professors Alessandro Garcia (PUC-RJ), Carlos Lucena (PUC-RJ) and Krzysztof Czarnecki (University of Waterloo, Canada) in Rio de Janeiro on November 22, 23 and 24. During this visit, professors and researchers are going to discuss and plan collaborations, that can result in new opportunities for the Software Productivity Laboratory Network.

    , ,
  • Professor Krzysztof Czarnecki is going to visit CIn/UFPE

    Publicado em October 14th, 2010News

    Professor Krzysztof Czarnecki from University of Waterloo, Canada, is going to visit CIn/UFPE on November 15th, to work with Dr. Paulo Borba on Software Product Lines. During this visit, he is going to present his work on Clafer, a meta-modeling language with first-class support for feature modeling. He is also going to watch presentations about the work conducted by the Software Productivity Group, affiliated to the Software Productivity Laboratory Network. Possible collaborations will be discussed, that can result in new opportunities for the Software Productivity Laboratory Network, specially for the trainings offered by the network.

    , ,
  • INES presence at AOSD 2010

    Publicado em January 25th, 2010News

    Members of the project “Tool Support for Software Product Lines Development and Evolution” of INES, Sérgio Soares and Paulo Borba, will participate of the 9th International Conference on Aspect-Oriented Software Development (AOSD 2010), in Rennes and Saint Malo, France. The conference will be in March, 2010. On occasion, Sérgio Soares and Paulo Borba will have a meeting with the steering committee of the event, aiming to present the proposal to host the conference in Recife in 2011.

  • Tool Support for Software Product Lines Development and Evolution

    Publicado em May 14th, 2009About the Institute, News

    An important competitive advantage for software companies is the ability to launch similar products, or variations of a product adapted to the peculiarities of specific clients, with agility and reduced costs without compromising quality. This has become possible through the development of Software Product Lines (SPL).

    The project “Tool Support for Software Product Lines Development and Evolution” of INES is to develop tools to support the construction and evolution of software product lines. In this context, three areas related to product lines will be covered:

    • Managing variations and traceability requirements;
    • Extraction, refactoring and optimization;
    • Languages for modularization of features.

    The results of this study will help software companies to initiate and develop product families with agility and reduced costs without compromising quality. Furthermore, approaches and tools developed will enable the transfer of technology via courses and postgraduate courses to advanced graduate.

    This project is coordinated by CIn-UFPE, with the collaboration of institutions UFRN, UFCG, UFRPE, UFS, and UPE.

    If you are interested to interact and collaborate with this initiative you can contact by email