M Anaging Dependencies and Constraints Assembled Software

Total Page:16

File Type:pdf, Size:1020Kb

M Anaging Dependencies and Constraints Assembled Software Managing Dependencies and Constraints Assembled Software Systems By Mark Northcott A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfilment of the requirements for the degree of Master of Computer Science Ottawa-Carleton Institute for Computer Science School of Computer Science Carleton University Ottawa, Ontario September 2005 © Copyright 2005, Mark Northcott Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Library and Bibliotheque et 1*1 Archives Canada Archives Canada Published Heritage Direction du Branch Patrimoine de I'edition 395 Wellington Street 395, rue Wellington Ottawa ON K1A 0N4 Ottawa ON K1A 0N4 Canada Canada Your file Votre reference ISBN: 0-494-10120-2 Our file Notre reference ISBN: 0-494-10120-2 NOTICE: AVIS: The author has granted a non­ L'auteur a accorde une licence non exclusive exclusive license allowing Library permettant a la Bibliotheque et Archives and Archives Canada to reproduce, Canada de reproduire, publier, archiver, publish, archive, preserve, conserve, sauvegarder, conserver, transmettre au public communicate to the public by par telecommunication ou par I'lnternet, preter, telecommunication or on the Internet, distribuer et vendre des theses partout dans loan, distribute and sell theses le monde, a des fins commerciales ou autres, worldwide, for commercial or non­ sur support microforme, papier, electronique commercial purposes, in microform, et/ou autres formats. paper, electronic and/or any other formats. The author retains copyright L'auteur conserve la propriete du droit d'auteur ownership and moral rights in et des droits moraux qui protege cette these. this thesis. Neither the thesis Ni la these ni des extraits substantiels de nor substantial extracts from it celle-ci ne doivent etre imprimes ou autrement may be printed or otherwise reproduits sans son autorisation. reproduced without the author's permission. In compliance with the Canadian Conformement a la loi canadienne Privacy Act some supporting sur la protection de la vie privee, forms may have been removed quelques formulaires secondaires from this thesis. ont ete enleves de cette these. While these forms may be included Bien que ces formulaires in the document page count, aient inclus dans la pagination, their removal does not represent il n'y aura aucun contenu manquant. any loss of content from the thesis. i * i Canada Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Abstract Systems constructed by integrating off-the-shelf products are difficult to construct, deploy, and evolve because of the large number of dependencies that exist, between the products. Different organizations can use different products to provide similar services, leading to different constraints at each deployed site. This results in a large number of dependencies and constraints that must be satisfied in order for the sys­ tem to function properly. These dependencies and constraints are not managed in a rigorous manner often resulting in having to rediscover the information each time the system is deployed. This thesis presents an approach to managing the depen­ dencies and constraints in software systems constructed by integration off-the-shelf products. A formal specification for modeling the products and dependencies that exist in a system is developed, and it is used as the basis for describing a process for managing dependencies and constraints. The activities that are involved in this pro­ cess include defining the dependence model of the system, specifying the constraints, and manually verifying that the constraints are satisfied within the deployed system. These activities are intended to be executed concurrently by different organizations and individuals that are involved with the system. To facilitate this concurrency and geographic distribution, a tool is developed that provides support for open collab­ oration amongst all actors involved in the dependency and constraint management process. iii Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Acknowledgements I would like to thank my supervisors, Dr. Mark Vigder and Dr. Francis Bordeleau, for their continued support throughout the writing of this thesis. Their guidance helped shape the direction of this thesis, and they contributed immensely to the completed research. I would also like to thank the Software Engineering Group of the Institute for Information Technology and the Ontario Graduate Scholarship Program for providing funding throughout the term of this research. Finally, I would like to thank my parents and brothers for always being there and telling me exactly what I needed to hear. iv Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Contents 1 Introduction 1 1.1 Context and M otivation ........................................................................... 1 1.2 Problem S ta te m e n t ..................................................................................... 3 1.3 O b jectiv es ..................................................................................................... 3 1.4 C o n trib u tio n s ............................................................................................... 5 1.5 Summary ........................................................................................................... 7 2 Background 9 2.1 Identifying and Modeling Dependencies ................................................ 10 2.2 Managing Dependencies and Constraints in a Software System .... 14 2.2.1 Software Configuration Management ............................................. 14 2.2.2 Software Package Management ....................................................... 16 2.2.3 Deployment and Configuration of Component-based Systems . 18 2.3 Open Collaboration ..................................................................................... 21 2.4 Summary ........................................................................................................... 24 3 Modeling the Software Assembly Process 26 3.1 Software Development Through Assembly ............................................... 28 3.1.1 Application Assembly P ro c e s s .......................................................... 28 3.1.2 Actors and Use Cases in the Application Assembly Process . 30 3.2 Dependencies and Constraints in Assembled Software Systems .... 35 3.2.1 D ependency ............................................................................................ 35 3.2.2 C o n strain t ................................................................................................ 36 v Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 3.2.3 Discovery of Dependencies and Constraints ................................. 36 3.2.4 Evolution of Assembled Software Systems ................................. 38 3.3 Managing Constraints in Assembled Software Systems ........................... 38 3.3.1 Constraint Management Scenarios .................................................. 40 3.3.2 Constraint Management Requirements ........................................ 44 3.4 Need for a Formal Specification ................................................................... 46 3.5 Summary ........................................................................................................... 47 4 Modeling Assembled Software Systems 48 4.1 C om ponents ........................................................................................................ 50 4.1.1 Description ........................................................................................... 50 4.1.2 Definition .............................................................................................. 52 4.1.3 Graphical Notation ............................................................................. 52 4.2 D ep en d en cies ..................................................................................................... 52 4.2.1 Description ........................................................................................... 52 4.2.2 Definition .............................................................................................. 53 4.2.3 Graphical Notation ............................................................................. 53 4.3 Constraints ........................................................................................................ 54 4.3.1 Description ........................................................................................... 54 4.3.2 Definition .............................................................................................. 54 4.3.3 Graphical Notation ............................................................................. 55 4.4 Assemblies ............................................................................................................ 55 4.4.1 Description ........................................................................................... 55 4.4.2 Definition .............................................................................................. 55 4.4.3 Graphical Notation .............................................................................. 57 4.5 Configurations ..................................................................................................... 57 4.5.1 D e sc rip tio n ..........................................................................................
Recommended publications
  • On the Uniqueness of Browser Extensions and Web Logins
    To Extend or not to Extend: on the Uniqueness of Browser Extensions and Web Logins Gábor György Gulyás Dolière Francis Somé INRIA INRIA [email protected] [email protected] Nataliia Bielova Claude Castelluccia INRIA INRIA [email protected] [email protected] ABSTRACT shown that a user’s browser has a number of “physical” charac- Recent works showed that websites can detect browser extensions teristics that can be used to uniquely identify her browser and that users install and websites they are logged into. This poses sig- hence to track it across the Web. Fingerprinting of users’ devices is nificant privacy risks, since extensions and Web logins that reflect similar to physical biometric traits of people, where only physical user’s behavior, can be used to uniquely identify users on the Web. characteristics are studied. This paper reports on the first large-scale behavioral uniqueness Similar to previous demonstrations of user uniqueness based on study based on 16,393 users who visited our website. We test and their behavior [23, 50], behavioral characteristics, such as browser detect the presence of 16,743 Chrome extensions, covering 28% settings and the way people use their browsers can also help to of all free Chrome extensions. We also detect whether the user is uniquely identify Web users. For example, a user installs web connected to 60 different websites. browser extensions she prefers, such as AdBlock [1], LastPass [14] We analyze how unique users are based on their behavior, and find or Ghostery [8] to enrich her Web experience. Also, while brows- out that 54.86% of users that have installed at least one detectable ing the Web, she logs into her favorite social networks, such as extension are unique; 19.53% of users are unique among those who Gmail [13], Facebook [7] or LinkedIn [15].
    [Show full text]
  • Replication: Why We Still Can't Browse in Peace
    Replication: Why We Still Can’t Browse in Peace: On the Uniqueness and Reidentifiability of Web Browsing Histories Sarah Bird, Ilana Segall, and Martin Lopatka, Mozilla https://www.usenix.org/conference/soups2020/presentation/bird This paper is included in the Proceedings of the Sixteenth Symposium on Usable Privacy and Security. August 10–11, 2020 978-1-939133-16-8 Open access to the Proceedings of the Sixteenth Symposium on Usable Privacy and Security is sponsored by USENIX. Replication: Why We Still Can’t Browse in Peace: On the Uniqueness and Reidentifiability of Web Browsing Histories Sarah Bird Ilana Segall Martin Lopatka Mozilla Mozilla Mozilla Abstract This work seeks to reproduce the findings of Olejnik, Castel- We examine the threat to individuals’ privacy based on the luccia, and Janc [48] regarding the leakage of private infor- feasibility of reidentifying users through distinctive profiles mation when users browse the web. The reach of large-scale of their browsing history visible to websites and third par- providers of analytics and advertisement services into the ties. This work replicates and extends the 2012 paper Why overall set of web properties shows a continued increase in Johnny Can’t Browse in Peace: On the Uniqueness of Web visibility [64] by such parties across a plurality of web prop- Browsing History Patterns [48]. The original work demon- erties. This makes the threat of history-based profiling even strated that browsing profiles are highly distinctive and stable. more tangible and urgent now than when originally proposed. We reproduce those results and extend the original work to detail the privacy risk posed by the aggregation of browsing 2 Background and related work histories.
    [Show full text]
  • Website Error Messages
    Website Error Messages CO with a white page or 429 – Too many requests From time to time you may experience one of these login errors. CO with a white page This error occurs due to overloading. Please try again by clicking the back button or going to the web page again. You may need to try again more than once. If this doesn’t work, try the 429 instructions below. 429 – Too many requests The 429 issue is caused by cookies and web history that web browsers e.g. Chrome, Firefox, Safari, Firefox, Edge track. If you get either of these error pages you will need to clear your web browsing history and cookies. Please view the videos below to take you through this process (you can skip any advertisements). It is really easy to do and only takes a few seconds. Because you are deleting your webpage history and files that websites use to make access quicker to their websites, we suggest you clear the history for the last 7 days (or similar period - if this is an option) first. If you still get one of the login error messages: try clearing the history for the last 4 weeks, or as a last resort ‘All time’. Deleting the history will not harm your computer, but you may need to re-enter some passwords when you next visit some sites. Not sure what web browser you are using? Simply right click on the icon that you use to open your browser. This should show the browser name. Google Chrome https://www.youtube.com/watch?v=MQaUrLhxZJ0 Firefox/Mozilla https://www.youtube.com/watch?v=foMbKtIFaVs Microsoft Edge https://www.youtube.com/watch?v=PqlbvDFfXtw Apple/Mac Safari https://www.youtube.com/watch?v=mY-keJ3xqhk Once you have deleted the history try logging into the NZCCA website again.
    [Show full text]
  • Examining Older Users' Online Privacy-Enhancing
    EXAMINING OLDER USERS’ ONLINE PRIVACY-ENHANCING EXPERIENCE FROM A HUMAN-COMPUTER INTERACTION PERSPECTIVE BY HSIAO-YING HUANG DISSERTATION Submitted in partial fulfillment of the requirements for Doctor of Philosophy in Informatics in the Graduate College of the University of Illinois at Urbana-Champaign, 2019 Urbana, Illinois Doctoral Committee: Assistant Professor Masooda Bashir, Chair Associate Professor Nikita Borisov Professor Wendy Rogers Professor Michael Twidale ABSTRACT The advancement of Internet technologies, including instant and unlimited access to information and services, has been an excellent source of support for older adults. However, pervasive and continuous online tracking can pose severe threats to older adults’ information privacy. Surprisingly, very few empirical studies have focused on older users’ online privacy-enhancing experience from a Human-Computer Interaction perspective. Therefore, it remains unclear how older users protect their online information privacy and what factors influence their online behaviors. Thus, my thesis aims to study older users’ online privacy-enhancing experience by examining the following questions: 1) what older users know and do to protect their online information privacy, 2) how their emotional state influences their adoption of privacy-enhancing technologies (PETs), and 3) what usability challenges they encounter while using one of the most popular PETs currently available to the public. To examine these questions, a diverse set of empirical approaches was adopted, including a survey, a quasi-experiment, and a usability study. My research findings suggest that three are three elements that play a crucial role in older users' online privacy-enhancing practices. First, older users' knowledge of online privacy has a significant influence on their daily online privacy protection behaviors.
    [Show full text]
  • Web Tracking: Mechanisms, Implications, and Defenses Tomasz Bujlow, Member, IEEE, Valentín Carela-Español, Josep Solé-Pareta, and Pere Barlet-Ros
    ARXIV.ORG DIGITAL LIBRARY 1 Web Tracking: Mechanisms, Implications, and Defenses Tomasz Bujlow, Member, IEEE, Valentín Carela-Español, Josep Solé-Pareta, and Pere Barlet-Ros Abstract—This articles surveys the existing literature on the of ads [1], [2], price discrimination [3], [4], assessing our methods currently used by web services to track the user online as health and mental condition [5], [6], or assessing financial well as their purposes, implications, and possible user’s defenses. credibility [7]–[9]. Apart from that, the data can be accessed A significant majority of reviewed articles and web resources are from years 2012 – 2014. Privacy seems to be the Achilles’ by government agencies and identity thieves. Some affiliate heel of today’s web. Web services make continuous efforts to programs (e.g., pay-per-sale [10]) require tracking to follow obtain as much information as they can about the things we the user from the website where the advertisement is placed search, the sites we visit, the people with who we contact, to the website where the actual purchase is made [11]. and the products we buy. Tracking is usually performed for Personal information in the web can be voluntarily given commercial purposes. We present 5 main groups of methods used for user tracking, which are based on sessions, client by the user (e.g., by filling web forms) or it can be collected storage, client cache, fingerprinting, or yet other approaches. indirectly without their knowledge through the analysis of the A special focus is placed on mechanisms that use web caches, IP headers, HTTP requests, queries in search engines, or even operational caches, and fingerprinting, as they are usually very by using JavaScript and Flash programs embedded in web rich in terms of using various creative methodologies.
    [Show full text]
  • An Analysis of Web-Based User Tracking and Online Privacy
    An analysis of web-based user tracking and online privacy Date: April 16, 2017 Contents 1. Introduction ........................................................................................................................................... 3 2. Privacy .................................................................................................................................................. 5 3. Laws and Regulations to Protect Privacy ............................................................................................. 7 Europe ....................................................................................................................................................... 7 Russia ........................................................................................................................................................ 7 United States ............................................................................................................................................. 7 Asia Pacific ............................................................................................................................................... 8 Middle East ............................................................................................................................................... 8 Africa ........................................................................................................................................................ 9 4. Cookies ................................................................................................................................................
    [Show full text]
  • Emacs-W3m User's Manual
    This file documents emacs-w3m, an Emacs interface tow3m. This edition is for emacs-w3m version 1.4.567. Emacs-w3m User's Manual An Emacs interface to w3m for emacs-w3m version 1.4.567 The emacs-w3m development team Copyright c 2000-2014 TSUCHIYA Masatoshi Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABIL- ITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this document; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. i Table of Contents Emacs-w3m User's Manual :::::::::::::::::::::::: 1 1 Preliminary remarks:::::::::::::::::::::::::::: 2 2 It's so easy to begin to use emacs-w3m ::::::: 3 2.1 What version of Emacs can be used? ::::::::::::::::::::::::::: 3 2.2 Using w3m: the reason why emacs-w3m is fast:::::::::::::::::: 3 2.3 Things required to run emacs-w3m ::::::::::::::::::::::::::::: 3 2.4 Installing emacs-w3m :::::::::::::::::::::::::::::::::::::::::: 5 2.5 Installing on non-UNIX-like systems :::::::::::::::::::::::::::: 6 2.6 Minimal settings to run emacs-w3m :::::::::::::::::::::::::::: 7 3 Basic usage :::::::::::::::::::::::::::::::::::::: 8
    [Show full text]
  • Erasing Your Web Browsing History
    Erasing your web browsing history. Web browsers have the habit of storing information about the sites you visit “for your own benefit”. When you close the browser, quite a lot of personal information is left behind in the form of cached pages, ‘cookies’, history, registry entries and index.dat files (Windows), or .plist files (MAC). This is done to make it easier for you to revisit those sites with minimum effort. If you feel that you need to erase this information once you finish using the computer, you should investigate how to do it for your particular browser and operating system. Even if you know how, it will probably take you all afternoon to clean up after using the internet. Not a practical proposition for the security-minded professional (or the paranoid). There is some cleanup capability in most browsers, but information is frequently left behind. Some cleanup software vendors claim that their offering will erase the offending files from your computer, but you never know. Keep in mind that even if you delete all those files, it is possible to recover them with specialized software: I can do it, and so can the bad guys. Is it dangerous to leave stuff behind after going on the internet? It all depends on how advanced your paranoia is. Some useful alternatives to just deleting personal information. All major web browsers (IE, Firefox, Opera, Safari, etc.) come in “portable” versions. These are made by hackers (and, who knows, possibly by the bad guys themselves). The programmers basically use the installer for the application and expand it into a self-contained folder.
    [Show full text]
  • A Reference Architecture for Web Browsers
    A Reference Architecture for Web Browsers Alan Grosskurth and Michael W. Godfrey School of Computer Science University of Waterloo Waterloo, ON N2L 3G1 Canada {agrossku,migod}@uwaterloo.ca Abstract The web browser is perhaps the most widely used soft- ware application in history and has evolved significantly A reference architecture for a domain captures the fun- over the past fifteen years; today, users run web browsers damental subsystems common to systems of that domain as on diverse types of hardware, from cell phones and tablet well as the relationships between these subsystems. Hav- PCs to regular desktop computers. A reference architec- ing a reference architecture available can aid both during ture for web browsers can help implementors to understand maintenance and at design time: it can improve under- trade-offs when designing new systems, and can also assist standing of a given system, it can aid in analyzing trade- maintainers in understanding legacy code. offs between different design options, and it can serve as In this paper, we present a reference architecture for a template for designing new systems and re-engineering web browsers that has been derived from the source code existing ones. In this paper, we examine the history of the of two existing open source systems and validate our find- web browser domain and identify several underlying phe- ings against two additional systems. We explain how the nomena that have contributed to its evolution. We develop evolutionary history of the web browser domain has influ- a reference architecture for web browsers based on two enced this reference architecture, and we identify underly- well known open source implementations, and we validate ing phenomena that can help to explain current trends.
    [Show full text]
  • Using Web Browsing Histories to Facilitate Multi-Method Research
    Selected Papers of AoIR 2016: The 17th Annual Conference of the Association of Internet Researchers Berlin, Germany / 5-8 October 2016 USING WEB BROWSING HISTORIES TO FACILITATE MULTI-METHOD RESEARCH Ericka Menchen-Trevino American University Extended Abstract If someone has any relationship at all to their weB Browsing history, it is proBaBly Best summarized in one word, “delete.” All major weB Browsers keep a log of the weBsites they access. This is needed for the normal functioning of the “back” Button that enaBles users to return to previous sites, and to show users which links they have visited on a web page By displaying visited links in a different color, as well as auto-filling the URL of a recently visited site when partially typed. Although the functions Browsing histories enaBle are quite Banal, these logs are perceived as having a high potential for eMBarrassing the user if puBlically exposed (Bogart, 2015). It is likely that many a romantic relationship has ended after one partner coMBed through the other’s Browser history, and certainly the employment of some has Been jeopardized By Browsing history log analysis as well. Despite the sensitive nature of this data, if given the aBility to explore and Better understand their own data and remove what they choose, some weB users may opt-in to sharing this data with researchers they trust. In fact, the informed consent process could demystify this often poorly understood source of information and give individuals Better tools for understanding and controlling their own Browsing data logs (Menchen- Trevino, 2016). Furthermore, this user-focused data crosses Between platforms where data is often siloed, such as different social media sites and weB services making it particularly useful for extending platform-Based studies of digital traces (Menchen- Trevino, 2013).
    [Show full text]
  • Clearing Browser Cache
    How do I clear my web browser's cache, cookies, and history? Note: Clearing your web browser's cache, cookies, and history may remove some data that you wish to keep. Notes: In most computer-based web browsers, you can open menus used to clear cache, cookies, and history, by pressing Ctrl-Shift-Delete (Windows) or Command-Shift-Delete (Mac). If this does not work, follow the appropriate instructions below. If you do not see instructions below for your specific version or browser, search your browser's Help menu for "clear cache". If you are unsure what browser version you are using, from the Help menu or your browser's menu, select About [browser name]. In Internet Explorer and Firefox, if you do not see the menu bar, press Alt. On this page: About cache, cookies, and history o Troubleshooting alternatives Mobile browsers o Android o Chrome for Android o Safari (Apple iOS) o Chrome for iOS Desktop browsers o Chrome o Firefox o Internet Explorer 11 and higher o Safari (Mac OS X) About cache, cookies, and history Clearing your web browser's cache, cookies, and history may remove data such as the following: Saved passwords Address bar predictions (e.g. Chrome, Firefox) Shopping cart contents, etc. While you should clear your web browser's cache, cookies, and history periodically in order to prevent or resolve performance problems, you may wish to record some of your saved information first. If you are unable to do so, see Troubleshooting alternatives below. For information about your web browser's cache, cookies, and history, see the following Wikipedia pages: Web cache HTTP cookie Web browsing history Troubleshooting alternatives If you need to clear your cache, cookies, and history for troubleshooting purposes, but are not yet prepared to lose the content listed above, you may wish to consider using a private browsing window in your preferred browser as a temporary solution.
    [Show full text]
  • Too Big a Fish in the Digital Pond? the California Consumer Privacy Act and the Dormant Commerce Clause
    University of Cincinnati Law Review Volume 88 Issue 2 Article 3 January 2020 Too Big a Fish in the Digital Pond? The California Consumer Privacy Act and the Dormant Commerce Clause Russell Spivak [email protected] Follow this and additional works at: https://scholarship.law.uc.edu/uclr Recommended Citation Russell Spivak, Too Big a Fish in the Digital Pond? The California Consumer Privacy Act and the Dormant Commerce Clause, 88 U. Cin. L. Rev. 475 (2020) Available at: https://scholarship.law.uc.edu/uclr/vol88/iss2/3 This Article is brought to you for free and open access by University of Cincinnati College of Law Scholarship and Publications. It has been accepted for inclusion in University of Cincinnati Law Review by an authorized editor of University of Cincinnati College of Law Scholarship and Publications. For more information, please contact [email protected]. Spivak: Too Big a Fish in the Digital Pond? TOO BIG A FISH IN THE DIGITAL POND? THE CALIFORNIA CONSUMER PRIVACY ACT AND THE DORMANT COMMERCE CLAUSE Russell Spivak1 “Money often costs too much.” — Ralph Waldo Emerson2 TABLE OF CONTENTS I. Introduction ...................................................................................... 477 II. ThE SciencE of Cookies and the Money in Targeted Ads ............... 478 A. Flour, Butter, Water, and Sugar: The History and Basics of Cookies ............................................................................ 478 B. Now Add Oatmeal: Further Iterations of Cookies ................ 480 C. Like Mrs. Fields: Monetizing Cookies in Big Data .............. 481 II. The CCPA’s Historical Context and Text ....................................... 482 A. How the Measure Came to Be .............................................. 483 1. Federal Action . And Re-action ............................ 483 2. Concurrent, thEn SubsequEnt, State MEasures .........
    [Show full text]