289 research outputs found

    Comparison of PBO solvers in a dependency solving domain

    Full text link
    Linux package managers have to deal with dependencies and conflicts of packages required to be installed by the user. As an NP-complete problem, this is a hard task to solve. In this context, several approaches have been pursued. Apt-pbo is a package manager based on the apt project that encodes the dependency solving problem as a pseudo-Boolean optimization (PBO) problem. This paper compares different PBO solvers and their effectiveness on solving the dependency solving problem.Comment: In Proceedings LoCoCo 2010, arXiv:1007.083

    Towards Information Systems Design for Value Webs

    Get PDF
    In this paper we discuss the alignment between a business model of a value web and the information systems of the participating companies needed to implement the business model. Traditional business-IT alignment approaches\ud focus on one single company, but in a value web we are dealing with various independent businesses. Since a value web is actually a web of services, delivered by IT systems owned by different companies, to ensure alignment we need to\ud specify the services and their properties and then map them on the available IT support in the different companies. Such mappings have to be evaluated in terms of their impact on the profitability of participating in the value web of the different companies. We propose techniques to map services to IT support and show how to do commercial trade-offs

    Two ways to Grid: the contribution of Open Grid Services Architecture (OGSA) mechanisms to service-centric and resource-centric lifecycles

    Get PDF
    Service Oriented Architectures (SOAs) support service lifecycle tasks, including Development, Deployment, Discovery and Use. We observe that there are two disparate ways to use Grid SOAs such as the Open Grid Services Architecture (OGSA) as exemplified in the Globus Toolkit (GT3/4). One is a traditional enterprise SOA use where end-user services are developed, deployed and resourced behind firewalls, for use by external consumers: a service-centric (or ‘first-order’) approach. The other supports end-user development, deployment, and resourcing of applications across organizations via the use of execution and resource management services: A Resource-centric (or ‘second-order’) approach. We analyze and compare the two approaches using a combination of empirical experiments and an architectural evaluation methodology (scenario, mechanism, and quality attributes) to reveal common and distinct strengths and weaknesses. The impact of potential improvements (which are likely to be manifested by GT4) is estimated, and opportunities for alternative architectures and technologies explored. We conclude by investigating if the two approaches can be converged or combined, and if they are compatible on shared resources

    A classification of code changes and test types dependencies for improving machine learning based test selection

    Get PDF
    Machine learning has been increasingly used to solve various software engineering tasks. One example of their usage is in regression testing, where a classifier is built using historical code commits to predict which test cases require execution. In this paper, we address the problem of how to link specific code commits to test types to improve the predictive performance of learning models in improving regression testing. We design a dependency taxonomy of the content of committed code and the type of a test case. The taxonomy focuses on two types of code commits: changing memory management and algorithm complexity. We reviewed the literature, surveyed experienced testers from three Swedish-based software companies, and conducted a workshop to develop the taxonomy. The derived taxonomy shows that memory management code should be tested with tests related to performance, load, soak, stress, volume, and capacity; the complexity changes should be tested with the same dedicated tests and maintainability tests. We conclude that this taxonomy can improve the effectiveness of building learning models for regression testing

    WHAT CONCERNS USERS OF MEDICAL APPS? EXPLORING NON-FUNCTIONAL REQUIREMENTS OF MEDICAL MOBILE APPLICATIONS

    Get PDF
    The increased use of internet through smartphones and tablets enables the development of new consumer-focused mobile applications (apps) in health care. Concerns including these apps´ safety, usability, privacy, and dependability have been raised. In this paper the authors present the results of a grounded theory-approach to finding what non-functional requirements of medical apps potential users view as most important. A document study and interviews with stakeholders yielded nine non-functional requirements for medical apps: accessibility, certifiability, portability, privacy, safety, security, stability, trustability, and usability. Six of these were evaluated with two groups (differing by age) of potential users through a vignette study. This revealed differences between the age groups regarding the importance each attributed to apps´ usability and certifiability. Furthermore, and contrary to consensus in literature, privacy was considered one of the least important attributes for medical apps by both groups. Trustability, security, and, for the younger group, certifiability, were considered the most important non-functional requirements for medical apps. The implications of these results for developing medical mobile applications are briefly visited

    Product software quality

    Get PDF

    Learning to classify software defects from crowds: a novel approach

    Get PDF
    In software engineering, associating each reported defect with a cate- gory allows, among many other things, for the appropriate allocation of resources. Although this classification task can be automated using stan- dard machine learning techniques, the categorization of defects for model training requires expert knowledge, which is not always available. To cir- cumvent this dependency, we propose to apply the learning from crowds paradigm, where training categories are obtained from multiple non-expert annotators (and so may be incomplete, noisy or erroneous) and, dealing with this subjective class information, classifiers are efficiently learnt. To illustrate our proposal, we present two real applications of the IBM’s or- thogonal defect classification working on the issue tracking systems from two different real domains. Bayesian network classifiers learnt using two state-of-the-art methodologies from data labeled by a crowd of annotators are used to predict the category (impact) of reported software defects. The considered methodologies show enhanced performance regarding the straightforward solution (majority voting) according to different metrics. This shows the possibilities of using non-expert knowledge aggregation techniques when expert knowledge is unavailable

    Managing software uninstall with negative trust

    Get PDF
    A problematic aspect of software management systems in view of integrity preservation is the handling, approval, tracking and eventual execution of change requests. In the context of the relation between clients and repositories, trust can help identifying all packages required by the intended installation. Negative trust, in turn, can be used to approach the complementary problem induced by removing packages. In this paper we offer a logic for negative trust which allows to identify admissible and no-longer admissible software packages in the current installation profile in view of uninstall processes. We provide a simple working example and the system is formally verified using the Coq theorem prover

    Open Personalization: Involving Third Parties in Improving the User Experience of Websites

    Get PDF
    Traditional software development captures the user needs during the requirement analysis. The Web makes this endeavour even harder due to the difficulty to determine who these users are. In an attempt to tackle the heterogeneity of the user base, Web Personalization techniques are proposed to guide the users’ experience. In addition, Open Innovation allows organisations to look beyond their internal resources to develop new products or improve existing processes. This thesis sits in between by introducing Open Personalization as a means to incorporate actors other than webmasters in the personalization of web applications. The aim is to provide the technological basis that builds up a trusty environment for webmasters and companion actors to collaborate, i.e. "an architecture of participation". Such architecture very much depends on these actors’ profile. This work tackles three profiles (i.e. software partners, hobby programmers and end users), and proposes three "architectures of participation" tuned for each profile. Each architecture rests on different technologies: a .NET annotation library based on Inversion of Control for software partners, a Modding Interface in JavaScript for hobby programmers, and finally, a domain specific language for end-users. Proof-of-concept implementations are available for the three cases while a quantitative evaluation is conducted for the domain specific language

    Towards Ontology-based SQA Recommender for Agile Software Development

    Get PDF
    Agility is heavily dependent on tacit knowledge, skilled and motivated employees, and frequent communications. Although, the Agile Manifesto claims fast and light software development process while maintaining high quality, it is however not very clear how current agile practices and methods attain quality under time pressure and unstable requirements. In this paper, we present an ontological approach for process-driven Quality Assurance support for agile software development. Challenges related to the role of Quality Assurance in agile projects are addressed by developing a process-driven recommender that provides tailored resources to user’s queries. The proposed ontological model embeds both conceptual and operational SQA knowledge about software processes and their requirements, including quality attributes, SQA measurements, SQA metrics and related SQA techniques and procedures
    • …
    corecore