15 research outputs found

    A Recommender Agent for Software Libraries: An Evaluation of Memory-Based and Model-Based Collaborative Filtering

    Full text link
    Abstract—Software Agents can conveniently facilitate knowl-edge discovery and knowledge sharing across an organisation. We contend that programming tasks are often mimicked, that knowledge concerning reusable libraries can be extracted auto-matically from source code repositories, and that this knowledge can then be filtered and presented to a developer in a manner that will encourage and support future software reuse. We introduce RASCAL, a recommender agent that continually recommends a set of task relevant library methods to a developer. RASCAL learns information regarding how a particular reusable library is used and then employs this insight to make task relevant recommendations to a developer. In this paper we detail our RASCAL agent and describe two recommendation techniques; namely Model-Based and Memory-Based Collabora-tive Filtering. We are interested in producing a scalable and efficient realtime recommender and thus ideally would favor a Model-Based approach. However, each scheme is evaluated against both runtime performance and recommendation accu-racy. We present results and discuss the merits and limitations of each technique. I

    A Multicenter, Randomized, Placebo‐Controlled Trial of Atorvastatin for the Primary Prevention of Cardiovascular Events in Patients With Rheumatoid Arthritis

    Get PDF
    Objective: Rheumatoid arthritis (RA) is associated with increased cardiovascular event (CVE) risk. The impact of statins in RA is not established. We assessed whether atorvastatin is superior to placebo for the primary prevention of CVEs in RA patients. Methods: A randomized, double‐blind, placebo‐controlled trial was designed to detect a 32% CVE risk reduction based on an estimated 1.6% per annum event rate with 80% power at P 50 years or with a disease duration of >10 years who did not have clinical atherosclerosis, diabetes, or myopathy received atorvastatin 40 mg daily or matching placebo. The primary end point was a composite of cardiovascular death, myocardial infarction, stroke, transient ischemic attack, or any arterial revascularization. Secondary and tertiary end points included plasma lipids and safety. Results: A total of 3,002 patients (mean age 61 years; 74% female) were followed up for a median of 2.51 years (interquartile range [IQR] 1.90, 3.49 years) (7,827 patient‐years). The study was terminated early due to a lower than expected event rate (0.70% per annum). Of the 1,504 patients receiving atorvastatin, 24 (1.6%) experienced a primary end point, compared with 36 (2.4%) of the 1,498 receiving placebo (hazard ratio [HR] 0.66 [95% confidence interval (95% CI) 0.39, 1.11]; P = 0.115 and adjusted HR 0.60 [95% CI 0.32, 1.15]; P = 0.127). At trial end, patients receiving atorvastatin had a mean ± SD low‐density lipoprotein (LDL) cholesterol level 0.77 ± 0.04 mmoles/liter lower than those receiving placebo (P < 0.0001). C‐reactive protein level was also significantly lower in the atorvastatin group than the placebo group (median 2.59 mg/liter [IQR 0.94, 6.08] versus 3.60 mg/liter [IQR 1.47, 7.49]; P < 0.0001). CVE risk reduction per mmole/liter reduction in LDL cholesterol was 42% (95% CI −14%, 70%). The rates of adverse events in the atorvastatin group (n = 298 [19.8%]) and placebo group (n = 292 [19.5%]) were similar. Conclusion: Atorvastatin 40 mg daily is safe and results in a significantly greater reduction of LDL cholesterol level than placebo in patients with RA. The 34% CVE risk reduction is consistent with the Cholesterol Treatment Trialists’ Collaboration meta‐analysis of statin effects in other populations

    IOS Press Knowledge Reuse for Software Reuse

    No full text
    Abstract. Software reuse can provide significant improvements in software productivity and quality whilst reducing development costs. Expressing software reuse intentions can be difficult though. A developer may aspire to reuse a software component but experience difficulty expressing their reuse intentions in a manner that is compatible with, or understood by, the component retrieval system. Various intelligent retrieval techniques have been developed that assist a developer in locating or discovering components in an efficient manner. These solutions share a common shortcoming: the developer must be capable of anticipating all reuse opportunities and initiating the retrieval process. There is a need for a comprehensive technique that not only assists with retrievals but that can also identify reuse opportunities. This paper advocates that component-based reuse can be supported through knowledge collaboration. Often programming tasks and solutions are replicated; this characteristic of software can be exploited for the benefit of future developments. Through the mining of existing source code solutions, knowledge, relating to how components are used by developers, can be extracted. Based on a developer’s current programming task, this knowledge can subsequently be filtered and used to recommend a candidate set of reusable components. This novel recommendation approach applies and extends commonly used Information Retrieval and Information Filtering techniques such as Collaborative Filtering, Content-Based Filtering, and Bayesian Clustering Models, to the software reuse domain. This recommendation technology is applied to several thousand open-source Java classes. The most effective recommendation algorithm produces recommendations of a high quality at a low cost
    corecore