3,909 research outputs found
Architecture aware parallel programming in Glasgow parallel Haskell (GPH)
General purpose computing architectures are evolving quickly to become manycore
and hierarchical: i.e. a core can communicate more quickly locally than
globally. To be effective on such architectures, programming models must be
aware of the communications hierarchy. This thesis investigates a programming
model that aims to share the responsibility of task placement, load balance, thread
creation, and synchronisation between the application developer and the runtime
system.
The main contribution of this thesis is the development of four new architectureaware
constructs for Glasgow parallel Haskell that exploit information about task
size and aim to reduce communication for small tasks, preserve data locality, or to
distribute large units of work. We define a semantics for the constructs that specifies the sets of PEs that each construct identifies, and we check four properties
of the semantics using QuickCheck.
We report a preliminary investigation of architecture aware programming
models that abstract over the new constructs. In particular, we propose architecture
aware evaluation strategies and skeletons. We investigate three common
paradigms, such as data parallelism, divide-and-conquer and nested parallelism,
on hierarchical architectures with up to 224 cores. The results show that the
architecture-aware programming model consistently delivers better speedup and
scalability than existing constructs, together with a dramatic reduction in the
execution time variability.
We present a comparison of functional multicore technologies and it reports
some of the first ever multicore results for the Feedback Directed Implicit Parallelism
(FDIP) and the semi-explicit parallelism (GpH and Eden) languages. The
comparison reflects the growing maturity of the field by systematically evaluating
four parallel Haskell implementations on a common multicore architecture.
The comparison contrasts the programming effort each language requires with
the parallel performance delivered.
We investigate the minimum thread granularity required to achieve satisfactory
performance for three implementations parallel functional language on a
multicore platform. The results show that GHC-GUM requires a larger thread
granularity than Eden and GHC-SMP. The thread granularity rises as the number
of cores rises
Automated metamorphic testing on the analyses of feature models
Copyright © 2010 Elsevier B.V. All rights reserved.Context: A feature model (FM) represents the valid combinations of features in a domain. The automated extraction of information from FMs is a complex task that involves numerous analysis operations, techniques and tools. Current testing methods in this context are manual and rely on the ability of the tester to decide whether the output of an analysis is correct. However, this is acknowledged to be time-consuming, error-prone and in most cases infeasible due to the combinatorial complexity of the analyses, this is known as the oracle problem.Objective: In this paper, we propose using metamorphic testing to automate the generation of test data for feature model analysis tools overcoming the oracle problem. An automated test data generator is presented and evaluated to show the feasibility of our approach.Method: We present a set of relations (so-called metamorphic relations) between input FMs and the set of products they represent. Based on these relations and given a FM and its known set of products, a set of neighbouring FMs together with their corresponding set of products are automatically generated and used for testing multiple analyses. Complex FMs representing millions of products can be efficiently created by applying this process iteratively.Results: Our evaluation results using mutation testing and real faults reveal that most faults can be automatically detected within a few seconds. Two defects were found in FaMa and another two in SPLOT, two real tools for the automated analysis of feature models. Also, we show how our generator outperforms a related manual suite for the automated analysis of feature models and how this suite can be used to guide the automated generation of test cases obtaining important gains in efficiency.Conclusion: Our results show that the application of metamorphic testing in the domain of automated analysis of feature models is efficient and effective in detecting most faults in a few seconds without the need for a human oracle.This work has been partially supported by the European Commission(FEDER)and Spanish Government under CICYT project SETI(TIN2009-07366)and the Andalusian Government project ISABEL(TIC-2533)
Software estimating: a description and analysis of current methodologies with recommendations on appropriate techniques for estimating RIT research corporation software projects
This thesis investigated, described, and analyzed six current software estimation methodologies. Included were Boehm\u27s COCOMO, Esterling\u27s Work Productivity Model, Putnam\u27s Life Cycle Model and Albrecht\u27s Function Point Determination. An implementation strategy for software estimation within RIT Research Corporation, a consulting firm, has been developed, based on this analysis. This strategy attempts to satisfy key needs and problems encountered by RIT Research estimators, while providing cost effective, accurate estimates
Efficient Concept Drift Handling for Batch Android Malware Detection Models
The rapidly evolving nature of Android apps poses a significant challenge to
static batch machine learning algorithms employed in malware detection systems,
as they quickly become obsolete. Despite this challenge, the existing
literature pays limited attention to addressing this issue, with many advanced
Android malware detection approaches, such as Drebin, DroidDet and MaMaDroid,
relying on static models. In this work, we show how retraining techniques are
able to maintain detector capabilities over time. Particularly, we analyze the
effect of two aspects in the efficiency and performance of the detectors: 1)
the frequency with which the models are retrained, and 2) the data used for
retraining. In the first experiment, we compare periodic retraining with a more
advanced concept drift detection method that triggers retraining only when
necessary. In the second experiment, we analyze sampling methods to reduce the
amount of data used to retrain models. Specifically, we compare fixed sized
windows of recent data and state-of-the-art active learning methods that select
those apps that help keep the training dataset small but diverse. Our
experiments show that concept drift detection and sample selection mechanisms
result in very efficient retraining strategies which can be successfully used
to maintain the performance of the static Android malware state-of-the-art
detectors in changing environments.Comment: 18 page
Quality Evaluation of Requirements Models: The Case of Goal Models and Scenarios
Context: Requirements Engineering approaches provide expressive model techniques
for requirements elicitation and analysis. Yet, these approaches struggle to manage the
quality of their models, causing difficulties in understanding requirements, and increase
development costs. The modelsâ quality should be a permanent concern. Objectives: We
propose a mixed-method process for the quantitative evaluation of the quality of requirements
models and their modelling activities. We applied the process to goal-oriented (i*
1.0 and iStar 2.0) and scenario-based (ARNE and ALCO use case templates) models, to
evaluate their usability in terms of appropriateness recognisability and learnability. We
defined (bio)metrics about the models and the way stakeholders interact with them, with
the GQM approach. Methods: The (bio)metrics were evaluated through a family of 16
quasi-experiments with a total of 660 participants. They performed creation, modification,
understanding, and review tasks on the models. We measured their accuracy, speed,
and ease, using metrics of task success, time, and effort, collected with eye-tracking,
electroencephalography and electro-dermal activity, and participantsâ opinion, through
NASA-TLX. We characterised the participants with GenderMag, a method for evaluating
usability with a focus on gender-inclusiveness. Results: For i*, participants had better
performance and lower effort when using iStar 2.0, and produced models with lower accidental
complexity. For use cases, participants had better performance and lower effort
when using ALCO. Participants using a textual representation of requirements had higher
performance and lower effort. The results were better for ALCO, followed by ARNE, iStar
2.0, and i* 1.0. Participants with a comprehensive information processing and a conservative
attitude towards risk (characteristics that are frequently seen in females) took
longer to start the tasks but had a higher accuracy. The visual and mental effort was also
higher for these participants. Conclusions: A mixed-method process, with (bio)metric
measurements, can provide reliable quantitative information about the success and effort
of a stakeholder while working on different requirements modelsâ tasks
- âŠ