Awais Rashid

Lancaster University, Lancaster, England, United Kingdom

Are you Awais Rashid?

Claim your profile

Publications (172)27.46 Total impact

  • Matthew Edwards · Awais Rashid · Paul Rayson
    ACM Computing Surveys 09/2015; 48(1):1-54. DOI:10.1145/2811403 · 3.37 Impact Factor
  • Source
    Nathan Weston · Francois Taiani · Awais Rashid
    [Show abstract] [Hide abstract]
    ABSTRACT: The key contribution of Aspect-Oriented Programming (AOP) is the encapsulation of crosscutting concerns in aspects, which facilities modular reasoning. However, common methods of introducing aspects into the system, incorporating features such as implicit control-flow, mean that the ability to discover interactions between aspects can be compromised. This has profound implications for developers working on fault-tolerant systems. We present an analysis for aspects which can re- veal these interactions, thus providing insight into positioning of error detection mechanisms and outlining candidate containment units. We also present Aida, an implementation of this analysis for the AspectJ language.
  • Source
    Matthew Edwards · Awais Rashid · Paul Rayson
    [Show abstract] [Hide abstract]
    ABSTRACT: Public user profile information is a common feature of modern websites. These profiles can provide a valuable resource for investigators tracing digital artefacts of crime, but current approaches are limited in their ability to link identities across different platforms. We address this through a service-independent model of user profile information, grounded in the details visible on a number of the most-frequented sites on the web. Building on this, we report the details most widespread across platforms and the number of features visible on each site, thus highlighting details of use to both privacy researchers and investigators attempting to cross-link profiles.
    IEEE Joint Intelligence and Security Informatics Conference (JISIC), The Hague; 09/2014
  • Business Process Management Conference BPM 2014; 09/2014
  • Models@runtime, Edited by LNCS State-of-the-Art Survey Volume, 06/2014: chapter Research Challenges for Business Process Models at Run-time; LNCS State-of-the-Art Survey Volume.
  • [Show abstract] [Hide abstract]
    ABSTRACT: Businesses are becoming increasingly globally interconnected and need to continuously adapt to global market changes and trends in order to stay competitive. Business processes are fundamental parts and drivers of these globally connected organizations which is why their management, analysis, and optimization are of utmost importance. Discovering and understanding the actual execution flow of processes deployed in your organization is an important enabler for these tasks. However, this has become increasingly difficult since business processes are now mostly distributed over different systems, highly dynamic, and may produce thousands of events per second which may conform to a number of different formats. These particular challenges are currently not specifically accounted for in the research field of Process Discovery. In order to address these challenges, this paper presents a concept for scalable dynamic process discovery, which is a scalable solution for identifying and keeping up with the evolution of dynamic, collaborative business processes. Furthermore, a framework for this concept is proposed along with the requirements and implementation details for the involved components and models.
    Advances in Enterprise Engineering VIII : 4th Enterprise Engineering Working Conference, EEWC 2014; 05/2014
  • [Show abstract] [Hide abstract]
    ABSTRACT: Mutation testing is a test selection criterion that relies on the assumption that test cases which can reveal artificial faults in the software are also good to reveal the real ones. It helps to expose faults which would go otherwise unnoticed. This criterion has been shown to be a promising means to deal with testing-related specificities of contemporary programming techniques such as Aspect-Oriented Programming. However, to date the few initiatives for customising mutation testing for aspect-oriented (AO) programs show either limited coverage with respect to the range of simulated faults, or a need for both adequate tool support and proper evaluation in regard to properties like application cost and effectiveness. This article tackles these limitations by describing a comprehensive mutation-based testing approach for programs written in AspectJ, which represents the most investigated AO programming language to date. The approach encompasses the definition of a set of mutation operators for AspectJ-specific constructs and the implementation of a tool that automates the approach. The results of a preliminary evaluation study show that the mutation operators are able to simulate faults that may not be revealed by pre-existing, non-mutation-based test suites. The results also suggest that the approach seems not to overwhelm the testers and hence represents a step towards the practical fault-based testing of AspectJ-like programs.
    Science of Computer Programming 09/2013; 78(9):1639-1662. DOI:10.1016/j.scico.2013.02.011 · 0.72 Impact Factor
  • Pauline Anthonysamy · Phil Greenwood · Awais Rashid
    [Show abstract] [Hide abstract]
    ABSTRACT: A proposed method for mapping privacy policy statements to privacy controls can help providers improve data management transparency, thereby increasing user trust.
    Computer 06/2013; 46(6):60-67. DOI:10.1109/MC.2012.326 · 1.44 Impact Factor
  • [Show abstract] [Hide abstract]
    ABSTRACT: The Isis toolkit offers the sophisticated capabilities required to analyze digital personas and provide investigators with clues to the identity of the individual or group hiding behind one or more personas.
    Computer 04/2013; 46(4):54-61. DOI:10.1109/MC.2013.68 · 1.44 Impact Factor
  • [Show abstract] [Hide abstract]
    ABSTRACT: When reflecting upon driving system requirements such as security and availability, software architects often face decisions that have a broadly scoped impact on the software architecture. These decisions are the core of the architecting process because they typically have implications intertwined in a multitude of architectural elements and across multiple views. Without a modular representation and management of those crucial choices, architects cannot properly communicate, assess and reason about their crosscutting effects. The result is a number of architectural breakdowns, such as misinformed architectural evaluation, time‐consuming trade‐off analysis and unmanageable traceability. This paper presents an architectural documentation approach in which aspects are exploited as a natural way to capture widely‐scoped design decisions in a modular fashion. The approach consists of a simple high‐level notation to describe crosscutting decisions, and a supplementary language that allows architects to formally define how such architectural decisions affect the final architectural decomposition according to different views. On the basis of two case studies, we have systematically assessed to what extent our approach: (i) supports the description of heterogeneous forms of crosscutting architecture decisions, (ii) improves the support for architecture modularity analysis, and (iii) enhances upstream and downstream traceability of crosscutting architectural decisions. Copyright © 2012 John Wiley & Sons, Ltd.
    Software Practice and Experience 03/2013; 43(3). DOI:10.1002/spe.2113 · 0.90 Impact Factor
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: One of the aims of Aspect-Oriented Requirements Engineering is to ad- dress the composability and subsequent analysis of crosscutting and non-crosscutting concerns during requirements engineering. A composition definition explicitly rep- resents interdependencies and interactions between concerns. Subsequent analysis of such compositions helps to reveal conflicting dependencies that need to be resolved in requirements. However, detecting conflicts in a large set of textual aspect-oriented requirements is a difficult task as a large number of explicitly defined interdependen- cies need to be analyzed. This paper presents EA-Analyzer, the first automated tool for identifying conflicts in aspect-oriented requirements specified in natural-language text. The tool is based on a novel application of a Bayesian learning method. We present an empirical evaluation of the tool with three industrial-strength requirements documents from different domains and a fourth academic case study used as a de facto benchmark in several areas of the aspect-oriented community. This evaluation shows that the tool achieves up to 93.90 % accuracy regardless of the documents chosen as the training and validation sets.
    Automated Software Engineering 03/2013; 20(1-1):111-135. DOI:10.1007/s10515-012-0106-7 · 1.73 Impact Factor
  • Source
    Matthew Edwards · Awais Rashid
    [Show abstract] [Hide abstract]
    ABSTRACT: The volume of illegal material on file-sharing networks poses a challenge for investigators attempting to police such networks. We propose a novel approach that automates the resource intensive task of identifying previously unknown files of interest amongst hundreds of thousands of files shared on such net-works. We also describe how this approach could be used to identify clusters of peers that might be closely related to each other, either as part of a syndicate, or as multiple personae of the same individual. Our approach is based on the collaborative filtering techniques typically used in recommender systems. In this study we find that we can successfully make use of collaborative filtering techniques to find new media belonging to specific categories of interest to an investigation of a peer-to-peer network, without having to examine filenames or file contents. We also find evidence that distance metrics from collaborative filtering could be useful in the clustering and identification of peers on file-sharing networks. Additionally, we describe an unsuccessful attempt at using collaborative filtering to predict the future file-sharing behaviour of peers.
  • Phil Greenwood · Awais Rashid · James Walkerdine
    [Show abstract] [Hide abstract]
    ABSTRACT: Online social networks are now common place in day-to-day lives. They are also increasingly used to drive social action initiatives, either led by government or communities themselves (e.g., SeeClickFix,, mumsnet). However, such initiatives are mainly used for crowd sourcing community views or coordinating activities. With the changing global economic and political landscape, there is an ever pressing need to engage citizens on a large-scale, not only in consultations about systems that affect them, but also involve them directly in the design of these very systems. In this paper we present the UDesignIt platform that combines social media technologies with software engineering concepts to empower communities to discuss and extract high-level design features. It combines natural language processing, feature modelling and visual overlays in the form of “image clouds” to enable communities and software engineers alike to unlock the knowledge contained in the unstructured and unfiltered content of social media where people discuss social problems and their solutions. By automatically extracting key themes and presenting them in a structured and organised manner in near real-time, the approach drives a shift towards large-scale engagement of community stakeholders for system design.
    Proceedings - International Conference on Software Engineering 01/2012; DOI:10.1109/ICSE.2012.6227089
  • [Show abstract] [Hide abstract]
    ABSTRACT: The collection of representative corpus samples of both child language and online (CMC) language varieties is crucial for linguistic research that is motivated by applications to the protection of children online. In this paper, we present an extensive survey of corpora available for these two areas. Although a significant amount of research has been undertaken both on child language and on CMC language varieties, a much smaller number of datasets are made available as corpora. Especially lacking are corpora which match requirements for verifiable age and gender metadata, although some include self-reported information, which may be unreliable. Our survey highlights the lack of corpus data available for the intersecting area of child language in CMC environments. This lack of available corpus data is a significant drawback for those wishing to undertake replicable studies of child language and online language varieties.
    International Journal of Corpus Linguistics 01/2012; 17(4). DOI:10.1075/ijcl.17.4.01bar · 0.77 Impact Factor
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Privacy control mechanisms for online social networks (OSNs) offer little by way of managing access to a user's personal information by third-party applications (TPAs). Most OSNs provide an "accept all or nothing" mechanism for managing permissions from TPAs to access a user's private data. In this paper, we propose an approach that makes all requests for private data from TPAs explicit and enables a user to exert fine-grained access control over what profile data can be accessed by individual applications. Equally importantly, our approach also allows users to share their access control configurations for TPAs with their friends who can reuse and rate such configurations. This is particularly beneficial to novice users or those new to a particular TPA or an OSN. We present an implementation of our approach for managing privacy for third-party Facebook applications and report an initial evaluation (N=50). A significant proportion of our sample (76%) found the collaborative privacy management approach useful in determining the type of applications one might use based on its privacy rankings and noted a raised awareness about data privacy issues arising from use of TPAs.
  • Source
    Alberto Sardinha · Nan Niu · Yijun Yu · Awais Rashid
    [Show abstract] [Hide abstract]
    ABSTRACT: Early aspects are crosscutting concerns that are identified and addressed at the requirements and architecture level, while code aspects are crosscutting concerns that manifest at the code level. Currently, there are many approaches to address the identification and modularization of these cross- cutting concerns at each level, but very few techniques try to analyze the relationship between early aspects and code as- pects. This paper presents a tool for automating the process of identifying traceability links between requirements-level aspects and code aspects, which is a first step towards an analysis of the relationship between the early aspects and code aspects. We also present an empirical evaluation of the tool with a real-life Web-based information system and a software product line for handling data on mobile devices. The results show that we can identify traceability links be- tween early aspects and code aspects with a high accuracy.
    ACM Symposium On Applied Computing; 01/2012
  • Source
    Awais Rashid · Gerd Kortuem
    [Show abstract] [Hide abstract]
    ABSTRACT: Adaptation is one of the key characteristics of pervasive computing applications. However, implementing adaptation using conventional development techniques is challenging as adaptation requirements tend to affect multiple elements of a pervasive environment. In this paper, we present our experience with implementing adaptation using aspect-oriented programming (AOP). We argue that the use of AOP not only provides an improved modularisation of the adaptation concern but also makes it easier to adapt the pervasive application to both changes in data and reorganisation of the pervasive environment itself.
  • Awais Rashid · Jean-Claude Royer · Andreas Rummler
    [Show abstract] [Hide abstract]
    ABSTRACT: Software product lines provide a systematic means of managing variability in a suite of products. They have many benefits but there are three major barriers that can prevent them from reaching their full potential. First, there is the challenge of scale: a large number of variants may exist in a product line context and the number of interrelationships and dependencies can rise exponentially. Second, variations tend to be systemic by nature in that they affect the whole architecture of the software product line. Third, software product lines often serve different business contexts, each with its own intricacies and complexities. The AMPLE ( approach tackles these three challenges by combining advances in aspect-oriented software development and model-driven engineering. The full suite of methods and tools that constitute this approach are discussed in detail in this edited volume and illustrated using three real-world industrial case studies.
    Edited by Awais Rashid and Jean-Claude Royer and Andreas Rummler, 09/2011; Cambridge University Press., ISBN: 9780521767224
  • Source
    Steffen Zschaler · Awais Rashid
    [Show abstract] [Hide abstract]
    ABSTRACT: Model-driven engineering, especially using domain-specific lan-guages, allows constructing software from abstractions that are more closely fitted to the problem domain and that better hide technical details of the solution space. Code generation is used to produce ex-ecutable code from these abstractions, which may result in individ-ual concerns being scattered and tangled throughout the generated code. The challenge, then, becomes how to modularise the code-generator templates to avoid scattering and tangling of concerns within the templates themselves. This paper shows how symmet-ric, language-aware approaches to aspect orientation can be applied to code generation to improve modularisation support.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: As aspects extend or replace existing functionality at specific join points in the code, their behavior may raise new exceptions, which can flow through the program execution in unexpected ways. Assuring the reliability of exception handling code in aspect-oriented (AO) systems is a challenging task. Testing the exception handling code is inherently difficult, since it is tricky to provoke all exceptions during tests, and the large number of different exceptions that can happen in a system may lead to the test-case explosion problem. Moreover, we have observed that some properties of AO programming (e.g., quantification, obliviousness) may conflict with characteristics of exception handling mechanisms, exacerbating existing problems (e.g., uncaught exceptions). The lack of verification approaches for exception handling code in AO systems stimulated the present work. This work presents a verification approach based on a static analysis tool, called SAFE, to check the reliability of exception handling code in AspectJ programs. We evaluated the effectiveness and feasibility of our approach in two complementary ways (i) by investigating if the SAFE tool is precise enough to uncover exception flow information and (ii) by applying the approach to three medium-sized ApectJ systems from different application domains.
    Information Sciences 07/2011; 181(13):2700-2720. DOI:10.1016/j.ins.2010.06.002 · 4.04 Impact Factor

Publication Stats

4k Citations
27.46 Total Impact Points


  • 1998–2014
    • Lancaster University
      • School of Computing and Communications
      Lancaster, England, United Kingdom
  • 2006
    • Universidade Federal do Rio Grande do Norte
      • Department of Computer Science and Applied Mathematics
      Natal, Rio Grande do Norte, Brazil
  • 2004
    • New University of Lisbon
      • Department of Informatics (DI)
      Lisboa, Lisbon, Portugal
  • 2002
    • Universität Paderborn
      • Department of Computer Science
      Paderborn, North Rhine-Westphalia, Germany