62,797 research outputs found

    Probabilistic Graphical Models on Multi-Core CPUs using Java 8

    Get PDF
    In this paper, we discuss software design issues related to the development of parallel computational intelligence algorithms on multi-core CPUs, using the new Java 8 functional programming features. In particular, we focus on probabilistic graphical models (PGMs) and present the parallelisation of a collection of algorithms that deal with inference and learning of PGMs from data. Namely, maximum likelihood estimation, importance sampling, and greedy search for solving combinatorial optimisation problems. Through these concrete examples, we tackle the problem of defining efficient data structures for PGMs and parallel processing of same-size batches of data sets using Java 8 features. We also provide straightforward techniques to code parallel algorithms that seamlessly exploit multi-core processors. The experimental analysis, carried out using our open source AMIDST (Analysis of MassIve Data STreams) Java toolbox, shows the merits of the proposed solutions.Comment: Pre-print version of the paper presented in the special issue on Computational Intelligence Software at IEEE Computational Intelligence Magazine journa

    Automatic Collection Selection using Machine Learning

    Get PDF
    Most recent programming languages include a collection framework as part of their standard library (or runtime). Examples are Java, C#, Python and Ruby. The Java Collection Framework provides a number of collection classes, some of which implement the same abstract data type, which makes them interchangeable. Developers can therefore choose between several functionally equivalent options. Since collections have different performance characteristics, and may be allocated in thousands of programs locations, the choice of collection has an important impact on performance. Unfortunately, programmers often make sub-optimal choices when picking their collections.In this licentiate thesis, we consider the problem of building automated tooling, which would help the developer choose among several collection implementations. We consider an existing tool called Brainy, which targets C++, and adapt it to the Java context. In doing so, we investigate how to synthesize benchmarks and analyze their behavior to create training data for automated classification. We propose one new generative model for collection benchmarks and present the challenges that porting JBrainy to Java entails. Finally, we compare JBrainy's suggestions versus greedy search, on five well known benchmarks. Our investigations show that JBrainy's suggestions were almost as effective than those of greedy search in minimizing the running time of programs. However, we also find that Brainy's benchmark synthesis methods do not apply well to the Java context, since they introduce some significant biases

    How Scale Affects Structure in Java Programs

    Full text link
    Many internal software metrics and external quality attributes of Java programs correlate strongly with program size. This knowledge has been used pervasively in quantitative studies of software through practices such as normalization on size metrics. This paper reports size-related super- and sublinear effects that have not been known before. Findings obtained on a very large collection of Java programs -- 30,911 projects hosted at Google Code as of Summer 2011 -- unveils how certain characteristics of programs vary disproportionately with program size, sometimes even non-monotonically. Many of the specific parameters of nonlinear relations are reported. This result gives further insights for the differences of "programming in the small" vs. "programming in the large." The reported findings carry important consequences for OO software metrics, and software research in general: metrics that have been known to correlate with size can now be properly normalized so that all the information that is left in them is size-independent.Comment: ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), October 2015. (Preprint

    Evaluating Maintainability Prejudices with a Large-Scale Study of Open-Source Projects

    Full text link
    Exaggeration or context changes can render maintainability experience into prejudice. For example, JavaScript is often seen as least elegant language and hence of lowest maintainability. Such prejudice should not guide decisions without prior empirical validation. We formulated 10 hypotheses about maintainability based on prejudices and test them in a large set of open-source projects (6,897 GitHub repositories, 402 million lines, 5 programming languages). We operationalize maintainability with five static analysis metrics. We found that JavaScript code is not worse than other code, Java code shows higher maintainability than C# code and C code has longer methods than other code. The quality of interface documentation is better in Java code than in other code. Code developed by teams is not of higher and large code bases not of lower maintainability. Projects with high maintainability are not more popular or more often forked. Overall, most hypotheses are not supported by open-source data.Comment: 20 page

    Proceeding: 3rd Java International Nursing Conference 2015 “Harmony of Caring and Healing Inquiry for Holistic Nursing Practice; Enhancing Quality of Care”, Semarang, 20-21 August 2015

    Get PDF
    This is the proceeding of the 3rd Java International Nursing Conference 2015 organized by School of Nursing, Faculty of Medicine, Diponegoro University, in collaboration with STIKES Kendal. The conference was held on 20-21 August 2015 in Semarang, Indonesia. The conference aims to enable educators, students, practitioners and researchers from nursing, medicine, midwifery and other health sciences to disseminate and discuss evidence of nursing education, research, and practices to improve the quality of care. This conference also provides participants opportunities to develop their professional networks, learn from other colleagues and meet leading personalities in nursing and health sciences. The 3rd JINC 2015 was comprised of keynote lectures and concurrent submitted oral presentations and poster sessions. The following themes have been chosen to be the focus of the conference: (a) Multicenter Science: Physiology, Biology, Chemistry, etc. in Holistic Nursing Practice, (b) Complementary Therapy in Nursing and Complementary, Alternative Medicine: Alternative Medicine (Herbal Medicine), Complementary Therapy (Cupping, Acupuncture, Yoga, Aromatherapy, Music Therapy, etc.), (c) Application of Inter-professional Collaboration and Education: Education Development in Holistic Nursing, Competencies of Holistic Nursing, Learning Methods and Assessments, and (d) Application of Holistic Nursing: Leadership & Management, Entrepreneurship in Holistic Nursing, Application of Holistic Nursing in Clinical and Community Settings
    corecore