[
    {
        "key": "ET8IZBE2",
        "version": 2066,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/ET8IZBE2",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/ET8IZBE2",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Chandra et al.",
            "parsedDate": "2015-01",
            "numChildren": 0
        },
        "data": {
            "key": "ET8IZBE2",
            "version": 2066,
            "itemType": "journalArticle",
            "title": "How to Smash the Next Billion Mobile App Bugs?",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Ranveer",
                    "lastName": "Chandra"
                },
                {
                    "creatorType": "author",
                    "firstName": "Börje F.",
                    "lastName": "Karlsson"
                },
                {
                    "creatorType": "author",
                    "firstName": "Nicholas D.",
                    "lastName": "Lane"
                },
                {
                    "creatorType": "author",
                    "firstName": "Mike Chieh-Jan",
                    "lastName": "Liang"
                },
                {
                    "creatorType": "author",
                    "firstName": "Suman",
                    "lastName": "Nath"
                },
                {
                    "creatorType": "author",
                    "firstName": "Jitu",
                    "lastName": "Padhye"
                },
                {
                    "creatorType": "author",
                    "firstName": "Lenin Ravindranath",
                    "lastName": "Sivalingam"
                },
                {
                    "creatorType": "author",
                    "firstName": "Feng",
                    "lastName": "Zhao"
                }
            ],
            "abstractNote": "With users increasingly dependent on their phones, tablets, and wearables, the mobile app ecosystem is more important today than ever before. Creating and distributing apps has never been more accessible. Even single developers can now reach global audiences. But mobile apps must cope with extremely varied and dynamic operating conditions due to factors like diverse device characteristics, wireless network heterogeneity, and varied user behavior. App developers and operators of app marketplaces both lack testing tools that can effectively account for such diversity and, as a result, app failures and performance bugs (like excessive energy consumption) are commonly found today. To address this challenge to mobile app development, we have developed key techniques for scalable automated mobile app testing within two prototype services – VanarSena and Caiipa. In this paper, we describe our vision for SMASH, a unified cloud-based mobile app testing service that combines the strengths of both previous systems to tackle the complexities presently faced by testers of mobile apps.",
            "publicationTitle": "ACM GetMobile: Mobile Computing and Communications",
            "publisher": "",
            "place": "",
            "date": "2015-01",
            "volume": "19",
            "issue": "1",
            "section": "",
            "partNumber": "",
            "partTitle": "",
            "pages": "",
            "series": "",
            "seriesTitle": "",
            "seriesText": "",
            "journalAbbreviation": "",
            "DOI": "",
            "citationKey": "",
            "url": "https://www.microsoft.com/en-us/research/publication/how-to-smash-the-next-billion-mobile-app-bugs/",
            "accessDate": "",
            "PMID": "",
            "PMCID": "",
            "ISSN": "",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "KNMGKBTG"
            ],
            "relations": {},
            "dateAdded": "2022-07-11T14:43:18Z",
            "dateModified": "2022-07-11T14:43:18Z"
        }
    },
    {
        "key": "UDRGIAZV",
        "version": 2066,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/UDRGIAZV",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/UDRGIAZV",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Kaur and Chakravarty",
            "parsedDate": "2021-01-01",
            "numChildren": 0
        },
        "data": {
            "key": "UDRGIAZV",
            "version": 2066,
            "itemType": "journalArticle",
            "title": "Analytics for measuring library use and satisfaction of mobile apps",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Simran",
                    "lastName": "Kaur"
                },
                {
                    "creatorType": "author",
                    "firstName": "Rupak",
                    "lastName": "Chakravarty"
                }
            ],
            "abstractNote": "Purpose User review is a significant component of mobile app markets such as the Google Play Store, App Store, Microsoft Store and others. Users submit their reviews for downloaded apps on these sites in the form of star ratings and text reviews. Apps can contain huge volumes of feedback, making it difficult for the user and the developer to skim through thousands of such reviews to get an insight into usage and impact of such apps. Thus, the current study aims to assess the usage and satisfaction among users of the Mendeley’s Android app vs iOS app. Design/methodology/approach The analytics are performed by using Appbot analytics software which captured, monitored, measured and analyzed the review results for a particular period. Appbot provides easy-to-understand insights of an app using artificial intelligence algorithm tools. Findings The findings of the study reveal strong inclination, adoption and usage of Mendeley’s Android app compared to that of iOS among users. Originality/value The value of this research is in getting an insight of the pattern/behavior of users towards using apps on different platforms (Android vs iOS) and provides valuable results for the app developers in monitoring usage and enhancing features for the satisfaction of users. Without mobile app analytics, one will be blindly trying out different things without any evidence to back up their experiments.",
            "publicationTitle": "Library Hi Tech News",
            "publisher": "",
            "place": "",
            "date": "2021-01-01",
            "volume": "38",
            "issue": "4",
            "section": "",
            "partNumber": "",
            "partTitle": "",
            "pages": "10-12",
            "series": "",
            "seriesTitle": "",
            "seriesText": "",
            "journalAbbreviation": "",
            "DOI": "10.1108/LHTN-04-2021-0014",
            "citationKey": "",
            "url": "https://doi.org/10.1108/LHTN-04-2021-0014",
            "accessDate": "2022-07-11",
            "PMID": "",
            "PMCID": "",
            "ISSN": "0741-9058",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "KNMGKBTG"
            ],
            "relations": {},
            "dateAdded": "2022-07-11T13:16:55Z",
            "dateModified": "2022-07-11T13:16:55Z"
        }
    },
    {
        "key": "GNZQUMID",
        "version": 2066,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/GNZQUMID",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/GNZQUMID",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "McIntosh et al.",
            "parsedDate": "2016-10-01",
            "numChildren": 0
        },
        "data": {
            "key": "GNZQUMID",
            "version": 2066,
            "itemType": "journalArticle",
            "title": "An empirical study of the impact of modern code review practices on software quality",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Shane",
                    "lastName": "McIntosh"
                },
                {
                    "creatorType": "author",
                    "firstName": "Yasutaka",
                    "lastName": "Kamei"
                },
                {
                    "creatorType": "author",
                    "firstName": "Bram",
                    "lastName": "Adams"
                },
                {
                    "creatorType": "author",
                    "firstName": "Ahmed E.",
                    "lastName": "Hassan"
                }
            ],
            "abstractNote": "Software code review, i.e., the practice of having other team members critique changes to a software system, is a well-established best practice in both open source and proprietary software domains. Prior work has shown that formal code inspections tend to improve the quality of delivered software. However, the formal code inspection process mandates strict review criteria (e.g., in-person meetings and reviewer checklists) to ensure a base level of review quality, while the modern, lightweight code reviewing process does not. Although recent work explores the modern code review process, little is known about the relationship between modern code review practices and long-term software quality. Hence, in this paper, we study the relationship between post-release defects (a popular proxy for long-term software quality) and: (1) code review coverage, i.e., the proportion of changes that have been code reviewed, (2) code review participation, i.e., the degree of reviewer involvement in the code review process, and (3) code reviewer expertise, i.e., the level of domain-specific expertise of the code reviewers. Through a case study of the Qt, VTK, and ITK projects, we find that code review coverage, participation, and expertise share a significant link with software quality. Hence, our results empirically confirm the intuition that poorly-reviewed code has a negative impact on software quality in large systems using modern reviewing tools.",
            "publicationTitle": "Empirical Software Engineering",
            "publisher": "",
            "place": "",
            "date": "2016-10-01",
            "volume": "21",
            "issue": "5",
            "section": "",
            "partNumber": "",
            "partTitle": "",
            "pages": "2146-2189",
            "series": "",
            "seriesTitle": "",
            "seriesText": "",
            "journalAbbreviation": "Empirical Software Engineering",
            "DOI": "10.1007/s10664-015-9381-9",
            "citationKey": "",
            "url": "https://doi.org/10.1007/s10664-015-9381-9",
            "accessDate": "",
            "PMID": "",
            "PMCID": "",
            "ISSN": "1573-7616",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "WEDYDT9P"
            ],
            "relations": {},
            "dateAdded": "2022-07-02T16:53:53Z",
            "dateModified": "2022-07-02T16:53:53Z"
        }
    },
    {
        "key": "BD35SN7D",
        "version": 2066,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/BD35SN7D",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/BD35SN7D",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Emiliani",
            "parsedDate": "2000-01-01",
            "numChildren": 0
        },
        "data": {
            "key": "BD35SN7D",
            "version": 2066,
            "itemType": "journalArticle",
            "title": "The false promise of “what gets measured gets managed”",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "M.L.",
                    "lastName": "Emiliani"
                }
            ],
            "abstractNote": "Discusses the importance of precise communication as a prerequisite to achieving alignment between internal and external stakeholders. Consideration is given to popular management catch‐phrases in general, with specific analysis of the widely‐used statement: “what gets measured gets managed”. The application of mathematical logic shows this to be a false statement, yet one that precipitates the management of measurements that may not add value as seen by the end‐use customer.",
            "publicationTitle": "Management Decision",
            "publisher": "",
            "place": "",
            "date": "2000-01-01",
            "volume": "38",
            "issue": "9",
            "section": "",
            "partNumber": "",
            "partTitle": "",
            "pages": "612-615",
            "series": "",
            "seriesTitle": "",
            "seriesText": "",
            "journalAbbreviation": "",
            "DOI": "10.1108/00251740010694317",
            "citationKey": "",
            "url": "https://doi.org/10.1108/00251740010694317",
            "accessDate": "2022-06-08",
            "PMID": "",
            "PMCID": "",
            "ISSN": "0025-1747",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "VXR8KN6X"
            ],
            "relations": {},
            "dateAdded": "2022-06-08T17:04:03Z",
            "dateModified": "2022-06-08T17:04:03Z"
        }
    },
    {
        "key": "YBUWDL6E",
        "version": 2064,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/YBUWDL6E",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/YBUWDL6E",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Oliveira et al.",
            "parsedDate": "2018",
            "numChildren": 0
        },
        "data": {
            "key": "YBUWDL6E",
            "version": 2064,
            "itemType": "journalArticle",
            "title": "Do android developers neglect error handling? a maintenance-Centric study on the relationship between android abstractions and uncaught exceptions",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Juliana",
                    "lastName": "Oliveira"
                },
                {
                    "creatorType": "author",
                    "firstName": "Deise",
                    "lastName": "Borges"
                },
                {
                    "creatorType": "author",
                    "firstName": "Thaisa",
                    "lastName": "Silva"
                },
                {
                    "creatorType": "author",
                    "firstName": "Nelio",
                    "lastName": "Cacho"
                },
                {
                    "creatorType": "author",
                    "firstName": "Fernando",
                    "lastName": "Castor"
                }
            ],
            "abstractNote": "All the mainstream programming languages in widespread use for mobile app development provide error handling mechanisms to support the implementation of robust apps. Android apps, in particular, are usually written in the Java programming language. Java includes an exception handling mechanism that allows programs to signal the occurrence of errors by throwing exceptions and to handle these exceptions by catching them. All the Android-specific abstractions, such as activities and asynctasks, can throw exceptions when errors occur. When an app catches the exceptions that it or the libraries upon which it depends throw, it can resume its activity or, at least, fail in a graceful way. On the other hand, uncaught exceptions can lead an app to crash, particularly if they occur within the main thread. Previous work has shown that, in real Android apps available at the Play Store, uncaught exceptions thrown by Android-specific abstractions often cause these apps to fail. This paper presents an empirical study on the relationship between the usage of Android abstractions and uncaught exceptions. Our approach is quantitative and maintenance-centric. We analyzed changes to both normal and exception handling code in 112 versions extracted from 16 software projects covering a number of domains, amounting to more than 3 million LOC. Change impact analysis and exception flow analysis were performed on those versions of the projects. The main finding of this study is that, during the evolution of the analyzed apps, an increase in the use of Android abstractions exhibits a positive and statistically significant correlation with the number of uncaught exception flows. Since uncaught exceptions cause apps to crash, this result suggests that these apps are becoming potentially less robust as a consequence of exception handling misuse. Analysis of multiple versions of these apps revealed that Android developers usually employ abstractions that may throw exceptions without adding the appropriate handlers for these exceptions. This study highlights the need for better testing and verification tools with a focus on exception handling code and for a change of culture in Android development or, at least, in the design of its APIs.",
            "publicationTitle": "Journal of Systems and Software",
            "publisher": "",
            "place": "",
            "date": "2018",
            "volume": "136",
            "issue": "",
            "section": "",
            "partNumber": "",
            "partTitle": "",
            "pages": "1 - 18",
            "series": "",
            "seriesTitle": "",
            "seriesText": "",
            "journalAbbreviation": "",
            "DOI": "https://doi.org/10.1016/j.jss.2017.10.032",
            "citationKey": "",
            "url": "http://www.sciencedirect.com/science/article/pii/S0164121217302558",
            "accessDate": "",
            "PMID": "",
            "PMCID": "",
            "ISSN": "0164-1212",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [
                {
                    "tag": "Android",
                    "type": 1
                },
                {
                    "tag": "Exception handling",
                    "type": 1
                },
                {
                    "tag": "Maintainability",
                    "type": 1
                },
                {
                    "tag": "Robustness",
                    "type": 1
                }
            ],
            "collections": [
                "VBKELZ3H"
            ],
            "relations": {},
            "dateAdded": "2020-12-01T17:17:38Z",
            "dateModified": "2020-12-01T17:17:38Z"
        }
    },
    {
        "key": "8Z5WE9KG",
        "version": 2069,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/8Z5WE9KG",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/8Z5WE9KG",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "lastModifiedByUser": {
                "id": 255158,
                "username": "sheep.dalton",
                "name": "Sheep Dalton",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/sheep.dalton",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Murphy et al.",
            "parsedDate": "2019",
            "numChildren": 0
        },
        "data": {
            "key": "8Z5WE9KG",
            "version": 2069,
            "itemType": "bookSection",
            "title": "Enabling Productive Software Development by Improving Information Flow",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Gail C.",
                    "lastName": "Murphy"
                },
                {
                    "creatorType": "author",
                    "firstName": "Mik",
                    "lastName": "Kersten"
                },
                {
                    "creatorType": "author",
                    "firstName": "Robert",
                    "lastName": "Elves"
                },
                {
                    "creatorType": "author",
                    "firstName": "Nicole",
                    "lastName": "Bryan"
                },
                {
                    "creatorType": "editor",
                    "firstName": "Caitlin",
                    "lastName": "Sadowski"
                },
                {
                    "creatorType": "editor",
                    "firstName": "Thomas",
                    "lastName": "Zimmermann"
                }
            ],
            "abstractNote": "At its core, software development is an information-intensive knowledge generation and consumption activity. We are interested in how software tools can enable the productive development of software. Our hypothesis has been that software development productivity can be increased by improving the access and flow of information between the humans and tools involved in creating software systems. In this chapter, we review an evolution of technologies we have introduced based on this hypothesis. These technologies are in use by large software development organization and have been shown to improve software developer productivity. The description of these technologies also highlights how productivity can be considered at the individual, team and organizational level.",
            "bookTitle": "Rethinking Productivity in Software Engineering",
            "series": "",
            "seriesNumber": "",
            "volume": "",
            "numberOfVolumes": "",
            "edition": "",
            "date": "2019",
            "publisher": "Apress",
            "place": "Berkeley, CA",
            "originalDate": "",
            "originalPublisher": "",
            "originalPlace": "",
            "format": "",
            "pages": "281–292",
            "ISBN": "978-1-4842-4221-6",
            "DOI": "10.1007/978-1-4842-4221-6_24",
            "citationKey": "",
            "url": "https://doi.org/10.1007/978-1-4842-4221-6_24",
            "accessDate": "",
            "ISSN": "",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "VBKELZ3H"
            ],
            "relations": {},
            "dateAdded": "2020-12-01T15:59:59Z",
            "dateModified": "2020-12-01T15:59:59Z"
        }
    },
    {
        "key": "E3RDLZ7C",
        "version": 2061,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/E3RDLZ7C",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/E3RDLZ7C",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Mili et al.",
            "parsedDate": "2014",
            "numChildren": 0
        },
        "data": {
            "key": "E3RDLZ7C",
            "version": 2061,
            "itemType": "conferencePaper",
            "title": "On Faults and Faulty Programs",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Ali",
                    "lastName": "Mili"
                },
                {
                    "creatorType": "author",
                    "firstName": "Marcelo F.",
                    "lastName": "Frias"
                },
                {
                    "creatorType": "author",
                    "firstName": "Ali",
                    "lastName": "Jaoua"
                },
                {
                    "creatorType": "editor",
                    "firstName": "Peter",
                    "lastName": "Höfner"
                },
                {
                    "creatorType": "editor",
                    "firstName": "Peter",
                    "lastName": "Jipsen"
                },
                {
                    "creatorType": "editor",
                    "firstName": "Wolfram",
                    "lastName": "Kahl"
                },
                {
                    "creatorType": "editor",
                    "firstName": "Martin Eric",
                    "lastName": "Müller"
                }
            ],
            "abstractNote": "A fault is an attribute of a program that precludes it from satisfying its specification; while this definition may sound clear-cut, it leaves many details unspecified. An incorrect program may be corrected in many different ways, involving different numbers of modifications. Hence neither the location nor the number of of faults may be defined in a unique manner; this, in turn, sheds a cloud of uncertainty on such concepts as fault density, and fault forecasting. In this paper, we present a more precise definition of a program fault, that has the following properties: it recognizes that the same incorrect behavior may be remedied in more than one way; it recognizes that removing a fault does not necessarily make the program correct, but may make it less incorrect (in a sense to be defined); it characterizes fault removals that make the program less incorrect, as opposed to fault removals that may remedy one aspect of program behavior at the expense of others; it recognizes that isolating a fault in a program is based on implicit assumptions about the remaining program parts; it identifies instances when a fault may be localized in a program with absolute certainty.",
            "proceedingsTitle": "Relational and Algebraic Methods in Computer Science",
            "conferenceName": "",
            "publisher": "Springer International Publishing",
            "place": "Cham",
            "date": "2014",
            "eventPlace": "",
            "volume": "",
            "issue": "",
            "numberOfVolumes": "",
            "pages": "191–207",
            "series": "",
            "seriesNumber": "",
            "DOI": "",
            "ISBN": "978-3-319-06251-8",
            "citationKey": "",
            "url": "",
            "accessDate": "",
            "ISSN": "",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "VBKELZ3H"
            ],
            "relations": {},
            "dateAdded": "2020-06-30T09:12:43Z",
            "dateModified": "2020-06-30T09:12:43Z"
        }
    },
    {
        "key": "UR97VDPQ",
        "version": 2060,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/UR97VDPQ",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/UR97VDPQ",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Shahin et al.",
            "parsedDate": "2019-06-01",
            "numChildren": 0
        },
        "data": {
            "key": "UR97VDPQ",
            "version": 2060,
            "itemType": "journalArticle",
            "title": "An empirical study of architecting for continuous delivery and deployment",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Mojtaba",
                    "lastName": "Shahin"
                },
                {
                    "creatorType": "author",
                    "firstName": "Mansooreh",
                    "lastName": "Zahedi"
                },
                {
                    "creatorType": "author",
                    "firstName": "Muhammad Ali",
                    "lastName": "Babar"
                },
                {
                    "creatorType": "author",
                    "firstName": "Liming",
                    "lastName": "Zhu"
                }
            ],
            "abstractNote": "Recently, many software organizations have been adopting Continuous Delivery and Continuous Deployment (CD) practices to develop and deliver quality software more frequently and reliably. Whilst an increasing amount of the literature covers different aspects of CD, little is known about the role of software architecture in CD and how an application should be (re-) architected to enable and support CD. We have conducted a mixed-methods empirical study that collected data through in-depth, semi-structured interviews with 21 industrial practitioners from 19 organizations, and a survey of 91 professional software practitioners. Based on a systematic and rigorous analysis of the gathered qualitative and quantitative data, we present a conceptual framework to support the process of (re-) architecting for CD. We provide evidence-based insights about practicing CD within monolithic systems and characterize the principle of “small and independent deployment units” as an alternative to the monoliths. Our framework supplements the architecting process in a CD context through introducing the quality attributes (e.g., resilience) that require more attention and demonstrating the strategies (e.g., prioritizing operations concerns) to design operations-friendly architectures. We discuss the key insights (e.g., monoliths and CD are not intrinsically oxymoronic) gained from our study and draw implications for research and practice.",
            "publicationTitle": "Empirical Software Engineering",
            "publisher": "",
            "place": "",
            "date": "June 1, 2019",
            "volume": "24",
            "issue": "3",
            "section": "",
            "partNumber": "",
            "partTitle": "",
            "pages": "1061-1108",
            "series": "",
            "seriesTitle": "",
            "seriesText": "",
            "journalAbbreviation": "Empirical Software Engineering",
            "DOI": "10.1007/s10664-018-9651-4",
            "citationKey": "",
            "url": "https://doi.org/10.1007/s10664-018-9651-4",
            "accessDate": "",
            "PMID": "",
            "PMCID": "",
            "ISSN": "1573-7616",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "VBKELZ3H"
            ],
            "relations": {},
            "dateAdded": "2020-06-28T12:36:59Z",
            "dateModified": "2020-06-28T12:36:59Z"
        }
    },
    {
        "key": "9MWWTYR8",
        "version": 2069,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/9MWWTYR8",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/9MWWTYR8",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "lastModifiedByUser": {
                "id": 255158,
                "username": "sheep.dalton",
                "name": "Sheep Dalton",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/sheep.dalton",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Bauer and Erdogan",
            "parsedDate": "2011",
            "numChildren": 0
        },
        "data": {
            "key": "9MWWTYR8",
            "version": 2069,
            "itemType": "bookSection",
            "title": "Organizational socialization: The effective onboarding of new employees.",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Talya N.",
                    "lastName": "Bauer"
                },
                {
                    "creatorType": "author",
                    "firstName": "Berrin",
                    "lastName": "Erdogan"
                }
            ],
            "abstractNote": "Organizational socialization, or onboarding, is a process through which new employees move from being organizational outsiders to becoming organizational insiders. Onboarding refers to the process that helps new employees learn the knowledge, skills, and behaviors they need to succeed in their new organizations. This process of learning to become an effective organizational member is different from occupational socialization, which focuses on learning the norms of one’s profession, such as police officer, scientist, or medical professional. Organizational socialization is influenced by newcomer characteristics and behaviors, as well as by organizational efforts. Newcomer adjustment is associated with important employee and organizational outcomes such as satisfaction, commitment, turnover, and performance. In the past 3 decades, our understanding of a newcomer’s adjustment to organizations increased substantially. As employees change jobs more frequently and the cost of replacing an employee increases, understanding and managing the process of socialization will provide competitive advantages to organizations. (PsycINFO Database Record (c) 2019 APA, all rights reserved)",
            "bookTitle": "APA handbook of industrial and organizational psychology, Vol 3: Maintaining, expanding, and contracting the organization.",
            "series": "APA handbooks in psychology®.",
            "seriesNumber": "",
            "volume": "",
            "numberOfVolumes": "",
            "edition": "",
            "date": "2011",
            "publisher": "American Psychological Association",
            "place": "Washington,  DC,  US",
            "originalDate": "",
            "originalPublisher": "",
            "originalPlace": "",
            "format": "",
            "pages": "51-64",
            "ISBN": "1-4338-0734-3 (Hardcover); 978-1-4338-0734-3 (Hardcover)",
            "DOI": "10.1037/12171-002",
            "citationKey": "",
            "url": "",
            "accessDate": "",
            "ISSN": "",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "",
            "language": "",
            "libraryCatalog": "",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [
                {
                    "tag": "*Employee Attitudes"
                },
                {
                    "tag": "*Job Satisfaction"
                },
                {
                    "tag": "*Organizational Behavior"
                },
                {
                    "tag": "*Socialization"
                },
                {
                    "tag": "*Working Conditions"
                },
                {
                    "tag": "Career Development"
                },
                {
                    "tag": "Occupational Adjustment"
                }
            ],
            "collections": [
                "AIKX3AIR"
            ],
            "relations": {},
            "dateAdded": "2020-03-07T21:42:51Z",
            "dateModified": "2020-03-07T21:42:51Z"
        }
    },
    {
        "key": "748G3CME",
        "version": 2055,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/748G3CME",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/748G3CME",
                "type": "text/html"
            },
            "up": {
                "href": "https://api.zotero.org/groups/267649/items/QJTEBFSA",
                "type": "application/json"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            }
        },
        "data": {
            "key": "748G3CME",
            "version": 2055,
            "parentItem": "QJTEBFSA",
            "itemType": "attachment",
            "linkMode": "imported_url",
            "title": "formatting - What's the quickest way to write \"2nd\" \"3rd\" etc in LaTeX? - TeX - LaTeX Stack Exchange",
            "accessDate": "2019-10-18T10:58:01Z",
            "url": "https://tex.stackexchange.com/questions/4118/whats-the-quickest-way-to-write-2nd-3rd-etc-in-latex",
            "note": "",
            "contentType": "text/html",
            "charset": "utf-8",
            "filename": "whats-the-quickest-way-to-write-2nd-3rd-etc-in-latex.html",
            "md5": "3944b708a82d16ea78215c0bb7c3bbdf",
            "mtime": 1571396281000,
            "tags": [],
            "relations": {},
            "dateAdded": "2019-10-18T10:58:01Z",
            "dateModified": "2019-10-18T10:58:01Z"
        }
    },
    {
        "key": "QJTEBFSA",
        "version": 2054,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/QJTEBFSA",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/QJTEBFSA",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "numChildren": 1
        },
        "data": {
            "key": "QJTEBFSA",
            "version": 2054,
            "itemType": "webpage",
            "title": "formatting - What's the quickest way to write \"2nd\" \"3rd\" etc in LaTeX? - TeX - LaTeX Stack Exchange",
            "creators": [],
            "abstractNote": "",
            "websiteTitle": "",
            "websiteType": "",
            "date": "",
            "publisher": "",
            "place": "",
            "DOI": "",
            "citationKey": "",
            "url": "https://tex.stackexchange.com/questions/4118/whats-the-quickest-way-to-write-2nd-3rd-etc-in-latex",
            "accessDate": "2019-10-18T10:58:00Z",
            "shortTitle": "",
            "language": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "PKK3I8ZI"
            ],
            "relations": {},
            "dateAdded": "2019-10-18T10:58:00Z",
            "dateModified": "2019-10-18T10:58:00Z"
        }
    },
    {
        "key": "5H3JEY52",
        "version": 2052,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/5H3JEY52",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/5H3JEY52",
                "type": "text/html"
            },
            "up": {
                "href": "https://api.zotero.org/groups/267649/items/MVXWDMDD",
                "type": "application/json"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            }
        },
        "data": {
            "key": "5H3JEY52",
            "version": 2052,
            "parentItem": "MVXWDMDD",
            "itemType": "attachment",
            "linkMode": "imported_url",
            "title": "Seamless In-App Feedback for Mobile Apps | Instabug",
            "accessDate": "2019-10-13T14:24:43Z",
            "url": "https://instabug.com/product/in-app-feedback",
            "note": "",
            "contentType": "text/html",
            "charset": "utf-8",
            "filename": "in-app-feedback.html",
            "md5": "d1e1bfc20a364ca66ffb9c40b26daf7c",
            "mtime": 1570976683000,
            "tags": [],
            "relations": {},
            "dateAdded": "2019-10-13T14:24:43Z",
            "dateModified": "2019-10-13T14:24:43Z"
        }
    },
    {
        "key": "MVXWDMDD",
        "version": 2051,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/MVXWDMDD",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/MVXWDMDD",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "numChildren": 1
        },
        "data": {
            "key": "MVXWDMDD",
            "version": 2051,
            "itemType": "webpage",
            "title": "Seamless In-App Feedback for Mobile Apps | Instabug",
            "creators": [],
            "abstractNote": "",
            "websiteTitle": "",
            "websiteType": "",
            "date": "",
            "publisher": "",
            "place": "",
            "DOI": "",
            "citationKey": "",
            "url": "https://instabug.com/product/in-app-feedback",
            "accessDate": "2019-10-13T14:24:42Z",
            "shortTitle": "",
            "language": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "EXIDZJKJ"
            ],
            "relations": {},
            "dateAdded": "2019-10-13T14:24:42Z",
            "dateModified": "2019-10-13T14:24:42Z"
        }
    },
    {
        "key": "P2HZUJTP",
        "version": 2050,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/P2HZUJTP",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/P2HZUJTP",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Grundy et al.",
            "parsedDate": "2019-09-16",
            "numChildren": 0
        },
        "data": {
            "key": "P2HZUJTP",
            "version": 2050,
            "itemType": "journalArticle",
            "title": "Commercialization of User Data by Developers of Medicines-Related Apps: a Content Analysis",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Quinn",
                    "lastName": "Grundy"
                },
                {
                    "creatorType": "author",
                    "firstName": "Kellia",
                    "lastName": "Chiu"
                },
                {
                    "creatorType": "author",
                    "firstName": "Lisa",
                    "lastName": "Bero"
                }
            ],
            "abstractNote": "BACKGROUND:\n\nDevelopers of medicines-related apps collect a variety of technical, health-related, and identifying user information to improve and tailor services. User data may also be used for promotional purposes. Apps, for example, may be used to skirt regulation of direct-to-consumer advertising of medicines. Researchers have documented routine and extensive sharing of user data with third parties for commercial purposes, but little is known about the ways that app developers or \"first\" parties employ user data.\nOBJECTIVE:\n\nWe aimed to investigate the nature of user data collection and commercialization by developers of medicines-related apps.\nAPPROACH:\n\nWe conducted a content analysis of apps' store descriptions, linked websites, policies, and sponsorship prospectuses for prominent medicines-related apps found in the USA, Canada, Australia, and UK Google Play stores in late 2017. Apps were included if they pertained to the prescribing, administration, or use of medicines, and were interactive. Two independent coders extracted data from documents using a structured, open-ended instrument. We performed open, inductive coding to identify the range of promotional strategies involving user data for commercial purposes and wrote descriptive memos to refine and detail these codes.\nKEY RESULTS:\n\nTen of 24 apps primarily provided medication adherence services; 14 primarily provided medicines information. The majority (71%, 17/24) outlined at least one promotional strategy involving users' data for commercial purposes which included personalized marketing of the developer's related products and services, highly tailored advertising, third-party sponsorship of targeted content or messaging, and sale of aggregated customer insights to stakeholders.\nCONCLUSIONS:\n\nApp developers may employ users' data in a feedback loop to deliver highly targeted promotional messages from developers, and commercial sponsors, including the pharmaceutical industry. These practices call into question developers' claims about the trustworthiness and independence of purportedly evidenced-based medicines information and may create a risk for mis- or overtreatment.",
            "publicationTitle": "Journal of General Internal Medicine",
            "publisher": "",
            "place": "",
            "date": "2019-9-16",
            "volume": "",
            "issue": "",
            "section": "",
            "partNumber": "",
            "partTitle": "",
            "pages": "",
            "series": "",
            "seriesTitle": "",
            "seriesText": "",
            "journalAbbreviation": "J GEN INTERN MED",
            "DOI": "10.1007/s11606-019-05214-0",
            "citationKey": "",
            "url": "http://link.springer.com/10.1007/s11606-019-05214-0",
            "accessDate": "2019-10-13T14:13:13Z",
            "PMID": "",
            "PMCID": "",
            "ISSN": "0884-8734, 1525-1497",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "Commercialization of User Data by Developers of Medicines-Related Apps",
            "language": "en",
            "libraryCatalog": "DOI.org (Crossref)",
            "callNumber": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "6V5LVQGK"
            ],
            "relations": {},
            "dateAdded": "2019-10-13T14:13:13Z",
            "dateModified": "2019-10-13T14:13:39Z"
        }
    },
    {
        "key": "W3D3BZIX",
        "version": 2047,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/W3D3BZIX",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/W3D3BZIX",
                "type": "text/html"
            },
            "up": {
                "href": "https://api.zotero.org/groups/267649/items/538E7YHE",
                "type": "application/json"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            }
        },
        "data": {
            "key": "W3D3BZIX",
            "version": 2047,
            "parentItem": "538E7YHE",
            "itemType": "attachment",
            "linkMode": "imported_url",
            "title": "arXiv.org Snapshot",
            "accessDate": "2019-10-13T14:09:57Z",
            "url": "https://arxiv.org/abs/1609.07190",
            "note": "",
            "contentType": "text/html",
            "charset": "utf-8",
            "filename": "1609.html",
            "md5": "c6374a58d55ded5d5a6795c4ddfb6087",
            "mtime": 1570975797000,
            "tags": [],
            "relations": {},
            "dateAdded": "2019-10-13T14:09:57Z",
            "dateModified": "2019-10-13T14:09:57Z"
        }
    },
    {
        "key": "5UMW6VCA",
        "version": 2046,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/5UMW6VCA",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/5UMW6VCA",
                "type": "text/html"
            },
            "up": {
                "href": "https://api.zotero.org/groups/267649/items/538E7YHE",
                "type": "application/json"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "numChildren": 0
        },
        "data": {
            "key": "5UMW6VCA",
            "version": 2046,
            "parentItem": "538E7YHE",
            "itemType": "attachment",
            "linkMode": "imported_url",
            "title": "arXiv:1609.07190 PDF",
            "accessDate": "2019-10-13T14:09:54Z",
            "url": "http://www.arxiv.org/pdf/1609.07190.pdf",
            "note": "",
            "contentType": "application/pdf",
            "charset": "",
            "filename": "Vallina-Rodriguez et al. - 2016 - Tracking the Trackers Towards Understanding the M.pdf",
            "md5": "95402e89d8779e4b59768ca802dd139d",
            "mtime": 1570975794000,
            "tags": [],
            "relations": {},
            "dateAdded": "2019-10-13T14:09:54Z",
            "dateModified": "2019-10-13T14:09:54Z"
        }
    },
    {
        "key": "538E7YHE",
        "version": 2045,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/538E7YHE",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/538E7YHE",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Vallina-Rodriguez et al.",
            "parsedDate": "2016-09-22",
            "numChildren": 2
        },
        "data": {
            "key": "538E7YHE",
            "version": 2045,
            "itemType": "journalArticle",
            "title": "Tracking the Trackers: Towards Understanding the Mobile Advertising and Tracking Ecosystem",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Narseo",
                    "lastName": "Vallina-Rodriguez"
                },
                {
                    "creatorType": "author",
                    "firstName": "Srikanth",
                    "lastName": "Sundaresan"
                },
                {
                    "creatorType": "author",
                    "firstName": "Abbas",
                    "lastName": "Razaghpanah"
                },
                {
                    "creatorType": "author",
                    "firstName": "Rishab",
                    "lastName": "Nithyanand"
                },
                {
                    "creatorType": "author",
                    "firstName": "Mark",
                    "lastName": "Allman"
                },
                {
                    "creatorType": "author",
                    "firstName": "Christian",
                    "lastName": "Kreibich"
                },
                {
                    "creatorType": "author",
                    "firstName": "Phillipa",
                    "lastName": "Gill"
                }
            ],
            "abstractNote": "Third-party services form an integral part of the mobile ecosystem: they allow app developers to add features such as performance analytics and social network integration, and to monetize their apps by enabling user tracking and targeted ad delivery. At present users, researchers, and regulators all have at best limited understanding of this third-party ecosystem. In this paper we seek to shrink this gap. Using data from users of our ICSI Haystack app we gain a rich view of the mobile ecosystem: we identify and characterize domains associated with mobile advertising and user tracking, thereby taking an important step towards greater transparency. We furthermore outline our steps towards a public catalog and census of analytics services, their behavior, their personal data collection processes, and their use across mobile apps.",
            "publicationTitle": "arXiv:1609.07190 [cs]",
            "publisher": "",
            "place": "",
            "date": "2016-09-22",
            "volume": "",
            "issue": "",
            "section": "",
            "partNumber": "",
            "partTitle": "",
            "pages": "",
            "series": "",
            "seriesTitle": "",
            "seriesText": "",
            "journalAbbreviation": "",
            "DOI": "",
            "citationKey": "",
            "url": "http://arxiv.org/abs/1609.07190",
            "accessDate": "2019-10-13T14:09:52Z",
            "PMID": "",
            "PMCID": "",
            "ISSN": "",
            "archive": "",
            "archiveLocation": "",
            "shortTitle": "Tracking the Trackers",
            "language": "",
            "libraryCatalog": "arXiv.org",
            "callNumber": "",
            "rights": "",
            "extra": "arXiv: 1609.07190",
            "tags": [
                {
                    "tag": "Computer Science - Computers and Society",
                    "type": 1
                }
            ],
            "collections": [
                "UKANEAVZ"
            ],
            "relations": {},
            "dateAdded": "2019-10-13T14:09:52Z",
            "dateModified": "2019-10-13T14:09:52Z"
        }
    },
    {
        "key": "MLRI95SM",
        "version": 2044,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/MLRI95SM",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/MLRI95SM",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Nuttall",
            "parsedDate": "2019-09-04",
            "numChildren": 1
        },
        "data": {
            "key": "MLRI95SM",
            "version": 2044,
            "itemType": "webpage",
            "title": "Google’s secret feed to advertisers | Financial Times",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Chris",
                    "lastName": "Nuttall"
                }
            ],
            "abstractNote": "Please use the sharing tools found via the share button at the top or side of articles. Copying articles to share with others is a breach of FT.com T&Cs and Copyright Policy. Email licensing@ft.com to buy additional rights. Subscribers may share up to 10 or 20 articles per month using the gift article service. More information can be found at https://www.ft.com/tour.\n\thttps://www.ft.com/content/a60931da-cf34-11e9-99a4-b5ded7a7fe3f\n\n\tGoogle has been accused again of playing fast and loose with users' personal information — on both sides of the Atlantic.\n\nThis FT exclusive from Madhumita Murgia reports on how Google is secretly using hidden web pages that feed the personal data of its users to advertisers, circumventing EU privacy regulations that require consent and transparency. A smaller rival Brave discovered the practice and reported it to the Irish data regulator, while accusing Google of “exploiting personal data without sufficient control or concern over data protection”.",
            "websiteTitle": "",
            "websiteType": "",
            "date": "4 September 2019",
            "publisher": "",
            "place": "",
            "DOI": "",
            "citationKey": "",
            "url": "https://www.ft.com/content/a60931da-cf34-11e9-99a4-b5ded7a7fe3f",
            "accessDate": "2019-10-04T12:42:42Z",
            "shortTitle": "",
            "language": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "6V5LVQGK"
            ],
            "relations": {},
            "dateAdded": "2019-10-04T12:42:42Z",
            "dateModified": "2019-10-04T12:43:24Z"
        }
    },
    {
        "key": "V7NDIKSD",
        "version": 2042,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/V7NDIKSD",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/V7NDIKSD",
                "type": "text/html"
            },
            "up": {
                "href": "https://api.zotero.org/groups/267649/items/MLRI95SM",
                "type": "application/json"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            }
        },
        "data": {
            "key": "V7NDIKSD",
            "version": 2042,
            "parentItem": "MLRI95SM",
            "itemType": "attachment",
            "linkMode": "imported_url",
            "title": "Google’s secret feed to advertisers | Financial Times",
            "accessDate": "2019-10-04T12:42:42Z",
            "url": "https://www.ft.com/content/a60931da-cf34-11e9-99a4-b5ded7a7fe3f",
            "note": "",
            "contentType": "text/html",
            "charset": "utf-8",
            "filename": "a60931da-cf34-11e9-99a4-b5ded7a7fe3f.html",
            "md5": "46b84e0409482f48123015a21545c140",
            "mtime": 1570192962000,
            "tags": [],
            "relations": {},
            "dateAdded": "2019-10-04T12:42:42Z",
            "dateModified": "2019-10-04T12:42:42Z"
        }
    },
    {
        "key": "S3DQEWC4",
        "version": 2039,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/S3DQEWC4",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/S3DQEWC4",
                "type": "text/html"
            },
            "up": {
                "href": "https://api.zotero.org/groups/267649/items/66SK7RQ6",
                "type": "application/json"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            }
        },
        "data": {
            "key": "S3DQEWC4",
            "version": 2039,
            "parentItem": "66SK7RQ6",
            "itemType": "attachment",
            "linkMode": "imported_url",
            "title": "How to take screeshots using Puppeteer on Google Chrome Headless | ScrapeHero",
            "accessDate": "2019-10-03T13:32:29Z",
            "url": "https://www.scrapehero.com/how-to-take-screenshots-of-a-web-page-using-puppeteer/",
            "note": "",
            "contentType": "text/html",
            "charset": "utf-8",
            "filename": "how-to-take-screenshots-of-a-web-page-using-puppeteer.html",
            "md5": "1b7cb31f71e32dd7fdae49924ff6227b",
            "mtime": 1570109549000,
            "tags": [],
            "relations": {},
            "dateAdded": "2019-10-03T13:32:29Z",
            "dateModified": "2019-10-03T13:32:29Z"
        }
    },
    {
        "key": "66SK7RQ6",
        "version": 2038,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/66SK7RQ6",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/66SK7RQ6",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "numChildren": 1
        },
        "data": {
            "key": "66SK7RQ6",
            "version": 2038,
            "itemType": "webpage",
            "title": "How to take screeshots using Puppeteer on Google Chrome Headless | ScrapeHero",
            "creators": [],
            "abstractNote": "",
            "websiteTitle": "",
            "websiteType": "",
            "date": "",
            "publisher": "",
            "place": "",
            "DOI": "",
            "citationKey": "",
            "url": "https://www.scrapehero.com/how-to-take-screenshots-of-a-web-page-using-puppeteer/",
            "accessDate": "2019-10-03T13:32:28Z",
            "shortTitle": "",
            "language": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "U8JZEP4B"
            ],
            "relations": {},
            "dateAdded": "2019-10-03T13:32:28Z",
            "dateModified": "2019-10-03T13:32:28Z"
        }
    },
    {
        "key": "EBXTJULF",
        "version": 2036,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/EBXTJULF",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/EBXTJULF",
                "type": "text/html"
            },
            "up": {
                "href": "https://api.zotero.org/groups/267649/items/GP8ZKWJ3",
                "type": "application/json"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            }
        },
        "data": {
            "key": "EBXTJULF",
            "version": 2036,
            "parentItem": "GP8ZKWJ3",
            "itemType": "attachment",
            "linkMode": "imported_url",
            "title": "How to take screenshots with Puppeteer | Buddy: The DevOps Automation Platform",
            "accessDate": "2019-10-03T13:30:37Z",
            "url": "https://buddy.works/guides/how-take-screenshots-with-puppeteer-headless-chrome",
            "note": "",
            "contentType": "text/html",
            "charset": "utf-8",
            "filename": "how-take-screenshots-with-puppeteer-headless-chrome.html",
            "md5": "9257638ca6d4ea61ed97aa4e1eb8dcab",
            "mtime": 1570109437000,
            "tags": [],
            "relations": {},
            "dateAdded": "2019-10-03T13:30:37Z",
            "dateModified": "2019-10-03T13:30:37Z"
        }
    },
    {
        "key": "GP8ZKWJ3",
        "version": 2035,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/GP8ZKWJ3",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/GP8ZKWJ3",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "numChildren": 1
        },
        "data": {
            "key": "GP8ZKWJ3",
            "version": 2035,
            "itemType": "webpage",
            "title": "How to take screenshots with Puppeteer | Buddy: The DevOps Automation Platform",
            "creators": [],
            "abstractNote": "",
            "websiteTitle": "",
            "websiteType": "",
            "date": "",
            "publisher": "",
            "place": "",
            "DOI": "",
            "citationKey": "",
            "url": "https://buddy.works/guides/how-take-screenshots-with-puppeteer-headless-chrome",
            "accessDate": "2019-10-03T13:30:37Z",
            "shortTitle": "",
            "language": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "U8JZEP4B"
            ],
            "relations": {},
            "dateAdded": "2019-10-03T13:30:37Z",
            "dateModified": "2019-10-03T13:30:37Z"
        }
    },
    {
        "key": "PAEAUA8N",
        "version": 2032,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/PAEAUA8N",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/PAEAUA8N",
                "type": "text/html"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            },
            "creatorSummary": "Macagno",
            "parsedDate": "2019-09-23",
            "numChildren": 1
        },
        "data": {
            "key": "PAEAUA8N",
            "version": 2032,
            "itemType": "webpage",
            "title": "android - Firebase/Crashlytics not reporting all crashes - Stack Overflow",
            "creators": [
                {
                    "creatorType": "author",
                    "firstName": "Maurizio",
                    "lastName": "Macagno"
                }
            ],
            "abstractNote": "",
            "websiteTitle": "",
            "websiteType": "",
            "date": "23 September 2019",
            "publisher": "",
            "place": "",
            "DOI": "",
            "citationKey": "",
            "url": "https://stackoverflow.com/questions/58070657/firebase-crashlytics-not-reporting-all-crashes",
            "accessDate": "2019-09-27T14:48:17Z",
            "shortTitle": "",
            "language": "",
            "rights": "",
            "extra": "",
            "tags": [],
            "collections": [
                "MQJ2KQ46"
            ],
            "relations": {},
            "dateAdded": "2019-09-27T14:48:17Z",
            "dateModified": "2019-09-27T14:48:41Z"
        }
    },
    {
        "key": "QAYKYKUJ",
        "version": 2033,
        "library": {
            "type": "group",
            "id": 267649,
            "name": "Software Quality_API",
            "links": {
                "alternate": {
                    "href": "https://www.zotero.org/groups/software_quality_api",
                    "type": "text/html"
                }
            }
        },
        "links": {
            "self": {
                "href": "https://api.zotero.org/groups/267649/items/QAYKYKUJ",
                "type": "application/json"
            },
            "alternate": {
                "href": "https://www.zotero.org/groups/software_quality_api/items/QAYKYKUJ",
                "type": "text/html"
            },
            "up": {
                "href": "https://api.zotero.org/groups/267649/items/PAEAUA8N",
                "type": "application/json"
            }
        },
        "meta": {
            "createdByUser": {
                "id": 1950873,
                "username": "julianharty",
                "name": "Julian Harty",
                "links": {
                    "alternate": {
                        "href": "https://www.zotero.org/julianharty",
                        "type": "text/html"
                    }
                }
            }
        },
        "data": {
            "key": "QAYKYKUJ",
            "version": 2033,
            "parentItem": "PAEAUA8N",
            "itemType": "attachment",
            "linkMode": "imported_url",
            "title": "android - Firebase/Crashlytics not reporting all crashes - Stack Overflow",
            "accessDate": "2019-09-27T14:48:18Z",
            "url": "https://stackoverflow.com/questions/58070657/firebase-crashlytics-not-reporting-all-crashes",
            "note": "",
            "contentType": "text/html",
            "charset": "utf-8",
            "filename": "firebase-crashlytics-not-reporting-all-crashes.html",
            "md5": "4ad95e98ecfe06201506d45f5d3c4738",
            "mtime": 1569595698000,
            "tags": [],
            "relations": {},
            "dateAdded": "2019-09-27T14:48:18Z",
            "dateModified": "2019-09-27T14:48:18Z"
        }
    }
]