2,373 research outputs found

    Selection of Software Product Line Implementation Components Using Recommender Systems: An Application to Wordpress

    Get PDF
    In software products line (SPL), there may be features which can be implemented by different components, which means there are several implementations for the same feature. In this context, the selection of the best components set to implement a given configuration is a challenging task due to the high number of combinations and options which could be selected. In certain scenarios, it is possible to find information associated with the components which could help in this selection task, such as user ratings. In this paper, we introduce a component-based recommender system, called (REcommender System that suggests implementation Components from selecteD fEatures), which uses information associated with the implementation components to make recommendations in the domain of the SPL configuration. We also provide a RESDEC reference implementation that supports collaborative-based and content-based filtering algorithms to recommend (i.e., implementation components) regarding WordPress-based websites configuration. The empirical results, on a knowledge base with 680 plugins and 187 000 ratings by 116 000 users, show promising results. Concretely, this indicates that it is possible to guide the user throughout the implementation components selection with a margin of error smaller than 13% according to our evaluation.Ministerio de Economía y Competitividad RTI2018-101204-B-C22Ministerio de Economía y Competitividad TIN2014-55894-C2-1-RMinisterio de Economía y Competitividad TIN2017-88209-C2-2-RMinisterio de Economía, Industria y Competitividad MCIU-AEI TIN2017-90644-RED

    On the selection and analysis of software product line implementation components using intelligent techniques

    Get PDF
    En los últimos años y con el creciente avance tecnológico, las empresas ya no se centran exclusivamente en diseñar un producto para un cliente (por ejemplo, el diseño de un sitio web para el Hotel Decameron), sino en producir para un dominio (por ejemplo, el diseño de sitios web para hoteles); es decir, el diseño de un producto que pueda adaptarse fácilmente a las diferentes variaciones que puedan existir para un mismo producto y que se adapte a los gustos individuales de los clientes. En la ingeniería de software, esto puede lograrse a través de la gestión de líneas de productos de software (SPL). Una SPL se define como un conjunto de sistemas que comparten un conjunto común de características que satisfacen la demanda de un mercado específico. Una SPL intenta reducir el esfuerzo y el costo de implementar y mantener en el tiempo un conjunto de productos de software similares; sin embargo, manejar la variabilidad en estos sistemas es una tarea dif´ıcil, a mayor n´umero de productos m´as complejo se hace manejarlos. Los modelos de caracter´ısticas (FMs) se emplean para representar gr´aficamente las partes comunes y variables de una SPL. Dada la gran cantidad de caracter´ısticas que se pueden derivar de un modelo de caracter´ıstica (FM), resulta dif´ıcil de gestionarlos. Para hacer frente a estos problemas se ha propuesto el An´alisis Autom´atico de Modelos de Caracter´ısticas (AAFM) que mediante el uso de herramientas asistidas por ordenador, se ocupa de la extracci ´on de información de los modelos de características. No obstante, existen ciertos escenarios en los que la configuración de un producto se convierte en una actividad compleja dado el número de componentes que existen para implementar una determinada característica. En esta tesis, exploramos técnicas inteligentes para resolver dos problemas que surgen al manejar una SPL: i. Por un lado, hemos identificado los problemas que surgen cuando un desarrollador desea mantener sus aplicaciones al d´ıa con los últimos avances tecnol´ogicos. La estrecha relaci ´on entre las caracter´ısticas de aplicaci ´on y los componentes de plataforma es dif´ıcil de rastrear. Los desarrolladores deben ser conscientes de las consecuencias que podr´ıan traer a las aplicaciones existentes cuando cambia el hardware donde se va a ejecutar; por ejemplo, cuando una aplicaci ´on se traslada de un smartphone a una computadora/tablet, o cuando una plataforma se actualiza a una nueva versi´on. Los diferentes tama˜nos y resoluciones de pantalla, la posible ausencia de un radio celular o el aumento de la cantidad de memoria pueden tener impactos positivos o negativos en una aplicaci ón. En este contexto, dado que las caracter´ısticas de aplicaci ´on y de plataforma están conceptualmente separadas, sus caracter´ısticas pueden modelarse en dos modelos distintos. Por consiguiente, manejar la trazabilidad entre estas dos capas y c´omo los posibles cambios en ciertas caracter´ısticas puedan afectar a la otra capa, es un problema que est´a por resolver. ii. Por otro lado, hemos encontrado lo complicado que es para el desarrollador de aplicaciones configurar un producto cuando hay una variedad de componentes de implementación para cada característica. Por ejemplo, un desarrollador web en WordPress busca manualmente aquellos componentes (plugins) que son factibles y más óptimos para cada sitio web. Esta tarea lleva tiempo y no siempre garantiza que los componentes seleccionados sean los m´as adecuados (en términos de calidad) para la aplicación requerida. Dos escenarios podrían surgir durante esta configuraci´on: primero, la selecci ´on emp´ırica de un componente, en la pr´actica, puede no proporcionar los resultados esperados; adem´as, no tener criterios basados en la experiencia de otros usuarios con respecto a estos componentes, podr´ıa inducir una mala selecci ´on y lograr una mala experiencia para el usuario final. En este contexto, el manejo de la relaci ´on entre los componentes de implementaci´on y sus caracter´ısticas es otro problema a resolver. Concretamente, las contribuciones de esta tesis se detallan a continuaci´on; Modelos de caracter´ısticas en m´ ultiples capas: En esta ´area introducimos un framework para el an´alisis de modelos de caracter´ısticas de m´ ultiples capas, llamado MAYA. Los objetivos que perseguimos con esta soluci´on son: i) modelar la variabilidad de los sistemas software en dos capas, incluyendo sus respectivas interdependencias; ii) definir un conjunto de operaciones que puedan imponerse a dichos modelos; iii) una implementaci ´on de referencia para el an´alisis de m´ ultiples capas basado en un caso de estudio en Android, y finalmente; iv) dos evaluaciones emp´ıricas que demuestran la viabilidad de nuestra propuesta en la pr´actica. Componentes de implementaci´on: La configuraci´on de un producto es una de las actividades m´as propensas a errores, m´as a ´un cuando para cada caracter´ıstica hay m´as de un componente que la implemente. Para gestionar estas configuraciones, introducimos un sistema de recomendaci ´on basado en componentes llamado RESDEC que facilita la selecci ´on de componentes de implementaci´on al crear productos en una SPL. Concretamente las contribuciones que se presentan con esta propuesta son: i) modelado del problema de selecci ´on de componentes de implementaci ´on como una tarea de recomendaci´on utilizando algoritmos de filtrado colaborativo y por contenido; ii) dise ˜no de un prototipo de herramienta de sistema de recomendaci´on basada en componentes lista para ser utilizada y extendida a otros entornos a partir de la selecci ´on de componentes de implementaci´on y, finalmente; iii) una evaluaci´on emp´ırica basado en sitios web de comercio electr ´onico enWordPress

    Transfer Meets Hybrid: A Synthetic Approach for Cross-Domain Collaborative Filtering with Text

    Full text link
    Collaborative filtering (CF) is the key technique for recommender systems (RSs). CF exploits user-item behavior interactions (e.g., clicks) only and hence suffers from the data sparsity issue. One research thread is to integrate auxiliary information such as product reviews and news titles, leading to hybrid filtering methods. Another thread is to transfer knowledge from other source domains such as improving the movie recommendation with the knowledge from the book domain, leading to transfer learning methods. In real-world life, no single service can satisfy a user's all information needs. Thus it motivates us to exploit both auxiliary and source information for RSs in this paper. We propose a novel neural model to smoothly enable Transfer Meeting Hybrid (TMH) methods for cross-domain recommendation with unstructured text in an end-to-end manner. TMH attentively extracts useful content from unstructured text via a memory module and selectively transfers knowledge from a source domain via a transfer network. On two real-world datasets, TMH shows better performance in terms of three ranking metrics by comparing with various baselines. We conduct thorough analyses to understand how the text content and transferred knowledge help the proposed model.Comment: 11 pages, 7 figures, a full version for the WWW 2019 short pape

    Extracting Implicit Social Relation for Social Recommendation Techniques in User Rating Prediction

    Full text link
    Recommendation plays an increasingly important role in our daily lives. Recommender systems automatically suggest items to users that might be interesting for them. Recent studies illustrate that incorporating social trust in Matrix Factorization methods demonstrably improves accuracy of rating prediction. Such approaches mainly use the trust scores explicitly expressed by users. However, it is often challenging to have users provide explicit trust scores of each other. There exist quite a few works, which propose Trust Metrics to compute and predict trust scores between users based on their interactions. In this paper, first we present how social relation can be extracted from users' ratings to items by describing Hellinger distance between users in recommender systems. Then, we propose to incorporate the predicted trust scores into social matrix factorization models. By analyzing social relation extraction from three well-known real-world datasets, which both: trust and recommendation data available, we conclude that using the implicit social relation in social recommendation techniques has almost the same performance compared to the actual trust scores explicitly expressed by users. Hence, we build our method, called Hell-TrustSVD, on top of the state-of-the-art social recommendation technique to incorporate both the extracted implicit social relations and ratings given by users on the prediction of items for an active user. To the best of our knowledge, this is the first work to extend TrustSVD with extracted social trust information. The experimental results support the idea of employing implicit trust into matrix factorization whenever explicit trust is not available, can perform much better than the state-of-the-art approaches in user rating prediction

    Human-Machine Collaborative Optimization via Apprenticeship Scheduling

    Full text link
    Coordinating agents to complete a set of tasks with intercoupled temporal and resource constraints is computationally challenging, yet human domain experts can solve these difficult scheduling problems using paradigms learned through years of apprenticeship. A process for manually codifying this domain knowledge within a computational framework is necessary to scale beyond the ``single-expert, single-trainee" apprenticeship model. However, human domain experts often have difficulty describing their decision-making processes, causing the codification of this knowledge to become laborious. We propose a new approach for capturing domain-expert heuristics through a pairwise ranking formulation. Our approach is model-free and does not require enumerating or iterating through a large state space. We empirically demonstrate that this approach accurately learns multifaceted heuristics on a synthetic data set incorporating job-shop scheduling and vehicle routing problems, as well as on two real-world data sets consisting of demonstrations of experts solving a weapon-to-target assignment problem and a hospital resource allocation problem. We also demonstrate that policies learned from human scheduling demonstration via apprenticeship learning can substantially improve the efficiency of a branch-and-bound search for an optimal schedule. We employ this human-machine collaborative optimization technique on a variant of the weapon-to-target assignment problem. We demonstrate that this technique generates solutions substantially superior to those produced by human domain experts at a rate up to 9.5 times faster than an optimization approach and can be applied to optimally solve problems twice as complex as those solved by a human demonstrator.Comment: Portions of this paper were published in the Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI) in 2016 and in the Proceedings of Robotics: Science and Systems (RSS) in 2016. The paper consists of 50 pages with 11 figures and 4 table

    A Software Product Line Approach to Ontology-based Recommendations in E-Tourism Systems

    Get PDF
    This study tackles two concerns of developers of Tourism Information Systems (TIS). First is the need for more dependable recommendation services due to the intangible nature of the tourism product where it is impossible for customers to physically evaluate the services on offer prior to practical experience. Second is the need to manage dynamic user requirements in tourism due to the advent of new technologies such as the semantic web and mobile computing such that etourism systems (TIS) can evolve proactively with emerging user needs at minimal time and development cost without performance tradeoffs. However, TIS have very predictable characteristics and are functionally identical in most cases with minimal variations which make them attractive for software product line development. The Software Product Line Engineering (SPLE) paradigm enables the strategic and systematic reuse of common core assets in the development of a family of software products that share some degree of commonality in order to realise a significant improvement in the cost and time of development. Hence, this thesis introduces a novel and systematic approach, called Product Line for Ontology-based Tourism Recommendation (PLONTOREC), a special approach focusing on the creation of variants of TIS products within a product line. PLONTOREC tackles the aforementioned problems in an engineering-like way by hybridizing concepts from ontology engineering and software product line engineering. The approach is a systematic process model consisting of product line management, ontology engineering, domain engineering, and application engineering. The unique feature of PLONTOREC is that it allows common TIS product requirements to be defined, commonalities and differences of content in TIS product variants to be planned and limited in advance using a conceptual model, and variant TIS products to be created according to a construction specification. We demonstrated the novelty in this approach using a case study of product line development of e-tourism systems for three countries in the West-African Region of Africa

    A fuzzy associative classification approach for recommender systems

    Get PDF
    Despite the existence of dierent methods, including data mining techniques, available to be used in recommender systems, such systems still contain numerous limitations. They are in a constant need for personalization in order to make effective suggestions and to provide valuable information of items available. A way to reach such personalization is by means of an alternative data mining technique called classification based on association, which uses association rules in a prediction perspective. In this work we propose a hybrid methodology for recommender systems, which uses collaborative altering and content-based approaches in a joint method taking advantage from the strengths of both approaches. Moreover, we also employ fuzzy logic to enhance recommendations quality and eectiveness. In order to analyze the behavior of the techniques used in our methodology, we accomplished a case study using real data gathered from two recommender systems. Results revealed that such techniques can be applied eectively in recommender systems, minimizing the eects of typical drawbacks they present
    corecore