15 research outputs found

    Analyzing Android applications for specifications and bugs

    Get PDF
    Android has become one of the leader operating systems for smartphones. Moreover, Android has a big community of developers with over 696500 applications on its market. However, given the complexity of the system, bugs are very common on Android applications--such as security vulnerabilities and energy bugs. Normally Android applications are written using the Java programming language. In contrast to most Java applications, Android applications does not have a single entry point (main function). In addition, these applications can use some system calls and receive events from external entities (such as the user) that affect how their control flows. Therefore, a model of the Android system must be defined in order to understand the behavior of Android applications and define how their control flows. In this thesis, two approaches to define the behavior of Android applications are studied. The first approach is an intra-component analysis that take take in account just the lifecycle of the main components in Android to define control flow of the applications. This approach is evaluated applying a specification miner for energy related specifications on 12 applications from the Android market. We were able to mine 91 specifications on all the applications and 41 of them were validated. For 50% of the applications analyzed, the analysis had less than 40% of false positives specifications. However, for the rest of the applications, the interaction between components was a important factor that increased the false positives. Therefore, the second approach is an inter-component approach that takes in account both, the lifecycle of components and interaction between components to define the control flow of Android applications. We evaluate the approach checking the percentage of code coverage on 8 applications from the Google market. The results are promising with an average coverage of 67%. In addition, we were able to identify bugs related to violations of constraints regarding intecomponent interactions

    Interactive message debugger for parallel message passing programs using Lam-Mpi

    Full text link
    Many complex and computation intensive problems can be solved efficiently using parallel programs on a network of processors. One of the most widely used software platforms for such cluster computing is LAM-MPI. To aid develop robust parallel programs using LAM-MPI we need efficient debugging tools. The challenges in debugging parallel programs are unique and different from those of sequential programs. Unfortunately available parallel debuggers do not address these challenges adequately; This thesis introduces IDLI, a parallel message debugger for LAM-MPI, designed on the concepts of multi-level debugging. IDLI provides a new paradigm for distributed debugging while avoiding many of the pitfalls of present tools of its genre. Through its powerful yet customizable query mechanism, adequate data abstraction, granularity, user-friendly interface, and a fast novel technique to simultaneously replay and sequentially debug one or more processes from a distributed application, IDLI provides an effective environment for debugging parallel LAM-MPI programs

    Prediction of Electronic Properties of Radical-Containing Polymers at Coarse-Grained Resolutions

    Full text link
    The properties of soft electronic materials depend on the coupling of electronic and conformational degrees of freedom over a wide range of spatiotemporal scales. Description of such properties requires multiscale approaches capable of, at the same time, accessing electronic properties and sampling the conformational space of soft materials. This could in principle be realized by connecting the coarse-grained (CG) methodologies required for adequate conformational sampling to conformationally-averaged electronic property distributions via backmapping to atomistic-resolution level models and repeated quantum-chemical calculations. Computational demands of such approaches, however, have hindered their application in high-throughput computer-aided soft materials discovery. Here, we present a method that, combining machine learning and CG techniques, can replace traditional backmapping-based approaches without sacrificing accuracy. We illustrate the method for an emerging class of soft electronic materials, namely non-conjugated, radical-containing polymers, promising materials for all-organic energy storage. Supervised machine learning models are trained to learn the dependence of electronic properties on polymer conformation at CG resolutions. We then parametrize CG models that retain electronic structure information, simulate CG condensed phases, and predict the electronic properties of such phases solely from the CG degrees of freedom. We validate our method by comparing it against a full backmapping-based approach, and find good agreement between both methods. This work demonstrates the potential of the proposed method to accelerate multiscale workflows, and provides a framework for the development of CG models that retain electronic structure information

    Debugging scripts in SPipes editor

    Get PDF
    Jazyk SPipes je technologie umožňující zpracování strukturovaných dat Sémantického webu. Tato diplomová práce se zabývá zlepšením stavu stávajícího editoru SPipes skriptů. V práci jsou nejprve představeny principy Sémantického webu a relevantní technologie. Na základě zevrubné analýzy již existujícího editoru a provedené rešerše byla navržena úprava architektury aplikace a definovány funkční a nefunkčí požadavky na editor. Hlavní přínosy práce jsou převedení backendové části z jazyka Scala do Javy za účelem odstranění problémů vyplývajících z nekompatibility mezi jazykem Scala a Spring frameworkem, který je použit. Dále pak vytvoření testů, které zjednodušují odhalení potenciálních chyb v aplikaci, rozdělení původně monolytické aplikace na několik oddělených služeb využívajících Docker a docker-compose, čímž se výrazně sníží práce spojená se správnou konfigurací a spouštěním aplikace. V neposlední řadě přináší tato práce nové a netriviální funkce editoru - možnost validovat a ladit editované skripty a moduly.The SPipes language is a technology that enables the processing of structured data in the form of the Semantic Web. This thesis attempts to improve the existing SPipes script editor. The thesis first introduces the principles of the Semantic Web and related technologies. Based on a thorough analysis of the existing editor and conducted survey, the application architecture was redesigned and functional and non-functional requirements for the editor were defined. Main contributions of this work are re-implementation of the backend part from Scala to Java, which eliminates the compatibility issues arising from the incompatibility between Scala and the Spring framework that is used. Special attention was paid to writing tests for most parts of the application, which simplifies the detection of potential bugs in the application. Major change in architecture was to split the originally monolithic application into several separate services with the use of Docker and docker-compose, leading to simpler configuration and easier deployment of the application. Last but not least, this thesis introduces new non-trivial features of the editor - the capability of validating and debugging of SPipes scripts and modules

    Fall 2017

    Get PDF
    https://scholar.rose-hulman.edu/rose_echoes/1096/thumbnail.jp

    Construction Workflow and Document Diagnostics

    Get PDF
    This research aims to determine if there is sufficient information encoded within construction workflow histories and document meta-data that may be exploited for the development of knowledge constructs such as diagnosis, thereby contributing to the body of knowledge of automation in construction, with a focus on advanced construction information systems. Electronic Product and Process Management [EPPM] systems provide the capability to establish and map information flow between different parties in a construction project as well as to model project processes. The wealth of information contained in an EPPM system can be exploited to extract knowledge that can provide significant benefits to construction companies. Much of the information relating to processes and their structure, the actors (people and machines) that operate them, and the data associated with each instance of a process is encapsulated within workflows. Workflows, therefore, provide an ideal medium for the capture of knowledge over the course of a project lifecycle. Project managers have recognized that workflows provide greater visibility and help enforce stricter compliance standards for project processes. While workflows do facilitate process compliance by ensuring constituent tasks are executed as per ordered definitions, the compliance of these individual tasks and their impact on the compliance of the workflow has not been explored. A framework has been developed to address stricter quality control by capturing knowledge of the execution times of work-items, which was then used as a basis for filtering workflows that may violate compliance norms. This significantly reduces the number of workflow instances that would need to be analyzed in detail during an audit. The framework was applied to a case study of a construction project located in British Columbia and validated. In an ideal EPPM system, the workflow engine would operate silently and seamlessly in the background, automating structured information exchange from the start to the end of a project. In reality, most workflows used in construction projects are of a semi-automated nature requiring manual involvement for tasks ranging from selection of participants to delegation of actors. An adaptive algorithm that is able to recognize and incorporate emergent patterns from prior executed workflow instances and also determine the relative availability of resources can greatly improve the performance of a workflow implementation by reducing its semi-automated nature. An algorithm was developed to demonstrate how a self-adapting workflow methodology could be applied to construction workflows, and two specific cases based on data from a construction project were analyzed showing promising results in terms of time savings. During a construction project, it is important to ensure that accurate and pertinent knowledge is delivered on time to appropriate personnel. Determining the criticality of documents at different stages of the project can aid companies with managing the flow of information in an organized manner, while providing for the detection of potentially disruptive, erroneous material that could result in delays and costs. An algorithm was designed based upon the meta-data and access interaction logs associated with documents in an EPPM system to identify critical documents. A scenario based on a real event and real data was developed on an EPPM system implementation and a simulation was conducted to determine the applicability of the algorithm and demonstrate its effectiveness. It is concluded that there is sufficient information encoded within construction workflow histories and document meta-data that may be exploited for the development of knowledge constructs such as diagnosis. Diagnosis based knowledge was used to discriminate between executed behavior and planned behavior to aid compliance checking. Analysis of workflow histories resulted in the development of patterns in workflows which demonstrated time savings if implemented as self-adapting workflows

    CSP-i : an implementation of CSP

    Get PDF
    CSP (Communicating Sequential Processes) is a notation proposed by Hoare, for expressing process communication and synchronization. Although this notation has been widely acclaimed, Hoare himself never implemented it as a computer language. He did however produce the necessary correctness proofs and subsequently the notation has been adopted (in various guises) by the designers of other concurrent languages such as Ada and occam. Only two attempts have been made at a direct and precise implementation of CSP. With closer scrutiny, even these implementations are found to deviate from the specifications expounded by Hoare, and in so doing restrict the original proposal. This thesis comprises two main sections. The first of these includes a brief look at the primitives of concurrent programming, followed by a comparative study of the existing adaptations of CSP and other message passing languages. The latter section is devoted to a description of the author's attempt at an original implementation of the notation. The result of this attempt is the creation of the CSP-i language and a suitable environment for executing CSP-i programs on an IBM PC. The CSP-i implementation is comparable with other concurrent systems presently available. In some aspects, the primitives featured in CSP-i provide the user with a more efficient and concise notation for expressing concurrent algorithms than several other message-based languages, notably occam.KMBT_363Adobe Acrobat 9.53 Paper Capture Plug-i
    corecore