UCLA Electronic Theses and Dissertations

Total Page:16

File Type:pdf, Size:1020Kb

UCLA Electronic Theses and Dissertations UCLA UCLA Electronic Theses and Dissertations Title Leveraging Program Commonalities and Variations for Systematic Software Development and Maintenance Permalink https://escholarship.org/uc/item/25z5n0t6 Author Zhang, Tianyi Publication Date 2019 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California UNIVERSITY OF CALIFORNIA Los Angeles Leveraging Program Commonalities and Variations for Systematic Software Development and Maintenance A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Computer Science by Tianyi Zhang 2019 c Copyright by Tianyi Zhang 2019 ABSTRACT OF THE DISSERTATION Leveraging Program Commonalities and Variations for Systematic Software Development and Maintenance by Tianyi Zhang Doctor of Philosophy in Computer Science University of California, Los Angeles, 2019 Professor Miryung Kim, Chair Software is becoming increasingly pervasive and complex. During software development and maintenance, developers often make ad hoc decisions based on local program contexts and their own experience only, which may increase technical debt and raise unknown conse- quences as software evolves. This dissertation explores several opportunities to guide software development and maintenance by exploiting and visualizing the commonalities and varia- tions among similar programs. Our hypothesis is that unveiling what has and has not been done in other similar program contexts can help developers make more systematic decisions, explore implementation alternatives, and reduce the risk of unknown consequences. The inherent repetitiveness in software systems provides a solid foundation for identify- ing and exploiting similar code. This dissertation first presents two approaches that leverage the syntactic similarity and repetitiveness in local codebases to improve code reviews and software testing. First, in contrast to inspecting local program edits line by line, Critics en- ables developers to reason about related edits scattered across multiple files by summarizing similar edits and detecting inconsistencies in similar locations. Second, Grafter boosts test coverage by transplanting test cases between similar programs and helps developers discern the behavioral similarity and differences between these programs via differential testing. This dissertation further extends the idea of systematic software development from local codebases to the open world, by exploiting the large and growing body of successful open- ii source projects on the Internet. In particular, we present three approaches that analyze a massive number of open-source projects and provide systematic guidance based on software reuse and adaptation patterns in the open-source community. First, ExampleCheck mines common API usage patterns from 380K GitHub projects and contrasts online code examples with these patterns to alert developers about potential API misuse during opportunistic code reuse. Second, to help developers comprehensively understand the variety of API usage at scale, Examplore aligns and super-imposes hundreds of code examples into a single code skeleton with statistical distributions of distinct API usage features among these examples. Finally, ExampleStack guides developers to adapt a code example to a target project by detecting similar code fragments in GitHub and by illuminating possible variations of this example with respect to its GitHub counterparts. The viability and usability of these techniques are evaluated by their application to large- scale projects as well as within-subjects user studies. First, in a user study with twelve Java developers, Critics helps developers identify 47% more edit mistakes with 32% less time than a line-level program diff tool. Second, Grafter transplants test cases in three open- source projects with 94% success rate and improves the statement and branch coverage by 22% and 16% respectively. Third, ExampleCheck reduces the risk of bug propagation by detecting API usage violations in almost one third of code examples in a popular Q&A forum, Stack Overflow. These API usage violations can potentially lead to software anomalies such as program crashes and resource leaks in target programs. Fourth, in a study with sixteen Java developers, Examplore helps developers understand the distribution of API usage patterns and answer common API usage questions accurately with concrete details. Finally, in another study with sixteen Java developers, ExampleStack helps developers identify more adaptation opportunities about code safety and logic customization, rather than shallow adaptations such as variable renaming. These key findings demonstrate that discovering and representing the commonalities and variations in similar contexts helps a developer achieve better program comprehension, discover more design alternatives, and capture more errors in different software development and maintenance tasks. iii The dissertation of Tianyi Zhang is approved. Todd D. Millstein Jens Palsberg Westley Weimer Miryung Kim, Committee Chair University of California, Los Angeles 2019 iv To my mom and dad v TABLE OF CONTENTS 1 Introduction :::::::::::::::::::::::::::::::::::::: 1 1.1 Thesis Statement . .3 1.2 Leveraging Inherent Repetitiveness in Software Systems . .5 1.2.1 Interactive Code Review for Similar Program Edits . .6 1.2.2 Automated Test Transplantation between Similar Programs . .7 1.3 Discovering Common Practices in Open Source Communities . .8 1.3.1 Mining Common API Usage Patterns from Massive Code Corpora . .9 1.3.2 Visualizing Common and Uncommon API Usage at Scale . 10 1.3.3 Adapting Code Examples with Similar GitHub Counterparts . 11 1.4 Contributions . 12 1.5 Outline . 13 2 Related Work ::::::::::::::::::::::::::::::::::::: 14 2.1 Software Repetitiveness and Code Clones . 14 2.1.1 Empirical Studies of the Presence and Evolution of Code Clones . 14 2.1.2 Existing Tool Support for Maintaining Code Clones . 16 2.2 Opportunistic Code Reuse . 20 2.2.1 Code Reuse from Local Codebases . 20 2.2.2 Code Reuse from the Web . 21 2.2.3 Tool Support for Searching and Integrating Code Snippets . 24 2.3 Mining and Visualizing API Usage . 26 2.4 Interfaces for Exploring Collections of Concrete Examples . 28 2.4.1 Exploring and Visualizing Multiple Code Instances . 28 vi 2.4.2 Exploring and Visualizing Other Complex Objects . 30 2.5 Modern Code Reviews and Program Change Comprehension . 31 2.6 Differential Testing . 32 2.7 Software Transplantation . 33 3 Interactive Code Review for Similar Program Edits ::::::::::::: 35 3.1 Introduction . 35 3.2 Motivating Example . 37 3.3 Change Template Construction and Refinement . 39 3.3.1 Program Context Extraction . 40 3.3.2 Change Template Customization . 40 3.4 Interactive Code Search and Anomaly Detection . 41 3.4.1 Tree-based Program Matching . 41 3.4.2 Change Summarization and Anomaly Detection . 42 3.5 Implementation and Tool Features . 44 3.6 Evaluation . 48 3.6.1 User Study with Professional Developers at Salesforce.com . 48 3.6.2 Lab Study: Comparison with Eclipse Diff and Search . 52 3.6.3 Comparison with LASE . 58 3.7 Threats to Validity . 61 3.8 Summary . 62 4 Automated Test Transplantation for Similar Programs ::::::::::: 63 4.1 Introduction . 63 4.2 Motivating Example . 65 4.3 Automated Code Transplantation and Differential Testing . 68 vii 4.3.1 Variation Identification . 68 4.3.2 Code Transplantation . 71 4.3.3 Data Propagation . 72 4.3.4 Fine-grained Differential Testing . 75 4.4 Tool Support and Demonstration . 75 4.5 Evaluation . 80 4.5.1 Grafting Capability . 81 4.5.2 Behavior Comparison Capability . 83 4.5.3 Fault Detection Robustness . 86 4.6 Threats to Validity . 89 4.7 Summary . 90 5 Mining Common API Usage Patterns from Massive Code Corpora ::: 91 5.1 Introduction . 91 5.2 Motivating Examples . 93 5.3 Scalable API Usage Mining on 380K GitHub Projects . 95 5.3.1 Structured Call Sequence Extraction and Slicing on GitHub . 96 5.3.2 Frequent Subsequence Mining . 99 5.3.3 Guard Condition Mining . 100 5.4 Evaluation of the API Usage Mining Framework . 102 5.4.1 Pattern Mining Accuracy . 102 5.4.2 Scalability . 105 5.5 A Study of API Misuse in Stack Overflow . 106 5.5.1 Data Collection . 106 5.5.2 Manual Inspection of Stack Overflow . 110 viii 5.5.3 Is API Misuse Prevalent on Stack Overflow? . 114 5.5.4 Are highly voted posts more reliable? . 115 5.5.5 What are the characteristics of API misuse? . 116 5.6 Augmenting Stack Overflow with API Usage Patterns mined from GitHub . 119 5.6.1 Tool Features and Implementations . 119 5.6.2 Demonstration Scenario . 123 5.7 Threats to Validity . 126 5.8 Summary . 127 6 Visualizing Common and Uncommon API Usage at Scale ::::::::: 128 6.1 Introduction . 128 6.2 Constructing Synthetic API Usage Skeleton . 131 6.3 Usage Scenario: Interacting with Code Distribution . 133 6.4 System Architecture and Implementation . 137 6.4.1 Data Collection . 137 6.4.2 Post-processing . 139 6.4.3 Visualization . 140 6.5 User Study . 141 6.5.1 API Methods . 141 6.5.2 Participants . 143 6.5.3 Methodology . 143 6.6 Results . 144 6.6.1 Quantitative Analysis . 144 6.6.2 Qualitative Analysis . 146 6.7 Threats to Validity . 149 ix 6.8 Conclusion . 150 7 Analyzing and Supporting Adaptation of Online Code Examples :::: 152 7.1 Introduction . 152 7.2 Data Collection: Linking Stack Overflow to GitHub . 155 7.3 Adaptation Type Analysis . 157 7.3.1 Manual Inspection and Adaptation Taxonomy . 157 7.3.2 Automated Adaptation Categorization . 161 7.3.3 Accuracy of Adaptation Categorization . 161 7.4 An Empirical Study of Common Adaptations of Stack Overflow Code Examples162 7.4.1 How many edits are potentially required to adapt a SO example? . 162 7.4.2 What are common adaptation and variation types? . 163 7.5 Tool Support and Implementation . 165 7.5.1 ExampleStack Tool Features . 165.
Recommended publications
  • Metadata for Semantic and Social Applications
    etadata is a key aspect of our evolving infrastructure for information management, social computing, and scientific collaboration. DC-2008M will focus on metadata challenges, solutions, and innovation in initiatives and activities underlying semantic and social applications. Metadata is part of the fabric of social computing, which includes the use of wikis, blogs, and tagging for collaboration and participation. Metadata also underlies the development of semantic applications, and the Semantic Web — the representation and integration of multimedia knowledge structures on the basis of semantic models. These two trends flow together in applications such as Wikipedia, where authors collectively create structured information that can be extracted and used to enhance access to and use of information sources. Recent discussion has focused on how existing bibliographic standards can be expressed as Semantic Metadata for Web vocabularies to facilitate the ingration of library and cultural heritage data with other types of data. Harnessing the efforts of content providers and end-users to link, tag, edit, and describe their Semantic and information in interoperable ways (”participatory metadata”) is a key step towards providing knowledge environments that are scalable, self-correcting, and evolvable. Social Applications DC-2008 will explore conceptual and practical issues in the development and deployment of semantic and social applications to meet the needs of specific communities of practice. Edited by Jane Greenberg and Wolfgang Klas DC-2008
    [Show full text]
  • Using RSS to Spread Your Blog
    10_588486 ch04.qxd 3/4/05 11:33 AM Page 67 Chapter 4 Using RSS to Spread Your Blog In This Chapter ᮣ Understanding just what a blog is ᮣ Creating the blog and the feed ᮣ Using your RSS reader ᮣ Creating a blog using HTML ᮣ Maintaining your blog ᮣ Publicizing your blog with RSS hat’s a blog, after all? Blog, short for Web log, is just a Web site with Wa series of dated entries, with the most recent entry on top. Those entries can contain any type of content you want. Blogs typically include links to other sites and online articles with the blogger’s reactions and com- ments, but many blogs simply contain the blogger’s own ramblings. Unquestionably, the popularity of blogging has fueled the expansion of RSS feeds. According to Technorati, a company that offers a search engine for blogs in addition to market research services, about one-third of blogs have RSS feeds. Some people who maintain blogs are publishing an RSS feed with- out even knowing about it, because some of the blog Web sites automatically create feeds (more about how this happens shortly). If you think that blogs are only personal affairs, remember that Microsoft has hundreds of them, and businesses are using them more and more to keep employees, colleagues, and customersCOPYRIGHTED up to date. MATERIAL In this chapter, I give a quick overview of blogging and how to use RSS with your blog to gain more readers. If you want to start a blog, this chapter explains where to go next.
    [Show full text]
  • Introduction to Web 2.0 Technologies
    Introduction to Web 2.0 Joshua Stern, Ph.D. Introduction to Web 2.0 Technologies What is Web 2.0? Æ A simple explanation of Web 2.0 (3 minute video): http://www.youtube.com/watch?v=0LzQIUANnHc&feature=related Æ A complex explanation of Web 2.0 (5 minute video): http://www.youtube.com/watch?v=nsa5ZTRJQ5w&feature=related Æ An interesting, fast-paced video about Web.2.0 (4:30 minute video): http://www.youtube.com/watch?v=NLlGopyXT_g Web 2.0 is a term that describes the changing trends in the use of World Wide Web technology and Web design that aim to enhance creativity, secure information sharing, increase collaboration, and improve the functionality of the Web as we know it (Web 1.0). These have led to the development and evolution of Web-based communities and hosted services, such as social-networking sites (i.e. Facebook, MySpace), video sharing sites (i.e. YouTube), wikis, blogs, etc. Although the term suggests a new version of the World Wide Web, it does not refer to any actual change in technical specifications, but rather to changes in the ways software developers and end- users utilize the Web. Web 2.0 is a catch-all term used to describe a variety of developments on the Web and a perceived shift in the way it is used. This shift can be characterized as the evolution of Web use from passive consumption of content to more active participation, creation and sharing. Web 2.0 Websites allow users to do more than just retrieve information.
    [Show full text]
  • Standardized Classification, Folksonomies, and Ontological Politics
    UCLA InterActions: UCLA Journal of Education and Information Studies Title Burning Down the Shelf: Standardized Classification, Folksonomies, and Ontological Politics Permalink https://escholarship.org/uc/item/74p477pz Journal InterActions: UCLA Journal of Education and Information Studies, 4(1) ISSN 1548-3320 Author Lau, Andrew J. Publication Date 2008-02-08 DOI 10.5070/D441000621 Peer reviewed eScholarship.org Powered by the California Digital Library University of California Colonialism has left its indelible mark on the world: cultures denied, traditions altered or erased, narratives ignored—all under the guise of noble, and perhaps sincere, intentions of spreading civility among “heathens” and the “wretched.” Power and authority have been assumed with little regard for the conquered as their voices have been disavowed, discounted as subhuman. Societal structures have been implemented as ideal solutions to the perceived inferiority of indigenous societal structures; language, culture, and traditions of a conqueror have been imposed on the conquered, an ontology imposed on another, despite cultural incongruence, and in consequence of power assumed by one over another. The colonized have been classified as the “others,” as “uncivilized,” as “ungodly in need of saving.” This has been the experience of China and Korea at the hands of Japan; the Philippines at the hands of Spain; India, Burma, and Singapore at the hands of Britain; and countless others throughout history. While the example of colonialism may be extreme as a metaphor for ontology, it still serves as a compelling metaphor; colonialism alludes to structures of power, as does an ontology imposing itself on another. In hindsight, history has revealed the terrors and consequences of colonialism, including loss of culture, loss of life, and loss of heritage.
    [Show full text]
  • Blogging Glossary
    Blogging Glossary Glossary: General Terms Atom: A popular feed format developed as an alternative to RSS. Autocasting: Automated form of podcasting that allows bloggers and blog readers to generate audio versions of text blogs from RSS feeds. Audioblog: A blog where the posts consist mainly of voice recordings sent by mobile phone, sometimes with some short text message added for metadata purposes. (cf. podcasting) Blawg: A law blog. Bleg: An entry in a blog requesting information or contributions. Blog Carnival: A blog article that contains links to other articles covering a specific topic. Most blog carnivals are hosted by a rotating list of frequent contributors to the carnival, and serve to both generate new posts by contributors and highlight new bloggers posting matter in that subject area. Blog client: (weblog client) is software to manage (post, edit) blogs from operating system with no need to launch a web browser. A typical blog client has an editor, a spell-checker and a few more options that simplify content creation and editing. Blog publishing service: A software which is used to create the blog. Some of the most popular are WordPress, Blogger, TypePad, Movable Type and Joomla. Blogger: Person who runs a blog. Also blogger.com, a popular blog hosting web site. Rarely: weblogger. Blogirl: A female blogger Bloggernacle: Blogs written by and for Mormons (a portmanteau of "blog" and "Tabernacle"). Generally refers to faithful Mormon bloggers and sometimes refers to a specific grouping of faithful Mormon bloggers. Bloggies: One of the most popular blog awards. Blogroll: A list of other blogs that a blogger might recommend by providing links to them (usually in a sidebar list).
    [Show full text]
  • Between Ontologies and Folksonomies
    BOF Between Ontologies and Folksonomies Michigan State University-Mi, US June 28, 2007 Workshop held in conjunction with Preface Today on-line communities, as well as individuals, produce a substantial amount of unstructured (and extemporaneous) content, arising from tacit and explicit knowledge sharing. Various approaches, both in the managerial and computer science fields, are seek- ing ways to crystallize the - somewhat volatile, but often highly valuable - knowl- edge contained in communities "chatters". Among those approaches, the most relevants appear to be those aimed at developing and formalizing agreed-upon semantic representations of specific knowledge domains (i.e. domain ontologies). Nonetheless, the intrinsic limits of technologies underpinning such approaches tend to push communities members towards the spontaneous adoption of less cumbersome tools, usually offered in the framework of the Web 2.0 (e.g. folkso- nomies, XML-based tagging, etc.), for sharing and retrieving knowledge. Inside this landscape, community members should be able to access and browse community knowledge transparently and in a personalized way, through tools that should be at once device-independent and context- and user-dependent, in order to manage and classify content for heterogeneous interaction channels (wired/wireless network workstations, smart-phones, PDA, and pagers) and dispa- rate situations (while driving, in a meeting, on campus). The BOF- Between Ontologies and Folksonomies workshop, held in conjunction with the third Communities and Technologies conference in June 2007 1, aimed at the development of a common understanding of the frontier technologies for shar- ing knowledge in communities. We are proposing here a selection of conceptual considerations, technical issues and "real-life case studies" presented during the workshop.
    [Show full text]
  • Overview of the TREC-2007 Blog Track
    Overview of the TREC-2007 Blog Track Craig Macdonald, Iadh Ounis Ian Soboroff University of Glasgow NIST Glasgow, UK Gaithersburg, MD, USA {craigm,ounis}@dcs.gla.ac.uk [email protected] 1. INTRODUCTION The number of permalink documents in the collection is over The goal of the Blog track is to explore the information seeking 3.2 million, while the number of feeds is over 100,000 blogs. The behaviour in the blogosphere. It aims to create the required in- permalink documents are used as a retrieval unit for the opinion frastructure to facilitate research into the blogosphere and to study finding task and its associated polarity subtask. For the blog distil- retrieval from blogs and other related applied tasks. The track was lation task, the feed documents are used as the retrieval unit. The introduced in 2006 with a main opinion finding task and an open collection has been distributed by the University of Glasgow since task, which allowed participants the opportunity to influence the March 2006. Further information on the collection and how it was determination of a suitable second task for 2007 on other aspects created can be found in [1]. of blogs besides their opinionated nature. As a result, we have created the first blog test collection, namely the TREC Blog06 3. OPINION FINDING TASK collection, for adhoc retrieval and opinion finding. Further back- Many blogs are created by their authors as a mechanism for self- ground information on the Blog track can be found in the 2006 expression. Extremely-accessible blog software has facilitated the track overview [2].
    [Show full text]
  • 8.5.512 Speechminer UI User Manual
    SpeechMiner UI User Manual 8.5.5 Date: 7/11/2018 Table of Contents Chapter 1: Introduction to SpeechMiner 1 New in this Release 4 SpeechMiner Deployments 15 Topics, Categories and Programs 17 Topics 19 Categories 21 Programs 23 Log into SpeechMiner 26 SpeechMiner Menu Reference 28 Chapter 2: Dashboard 30 Dashboard Menu Reference 31 Create a New Dashboard 32 Working with Dashboards 34 Widgets 36 Working with Widgets 37 Report Widget 40 My Messages Widget 43 Chapter 3: Explore 46 Explore Menu Reference 47 Search Results Grid 48 Working with the Search Results Grid 52 What is an Interaction? 55 Screen Recordings 58 Batch Actions 59 Create a New Search 64 Search Filter 66 Explore Terms 74 Saved Searches 75 Compare Saved Searches 77 Interaction Lists 79 Content Browser 82 Trending 84 Create a Trending Filter 86 Create a Custom Trending Cluster Task 88 Trending Filter Toolbar Description 91 Trending Chart Tool Tip Description 95 Trending Chart Data Description 97 Manage the Blacklist 101 Working with Saved Trending Filters 103 Export Trending Data 107 Chapter 4: Media Player 108 Playback 110 Playback Controls 111 Hidden Confidential Information 115 Dual-Channel Audio 116 Interaction Transcript 117 Interaction Comments 121 Interaction Events 124 Interaction Attributes 126 Media Player Options 127 Chapter 5: Reports 131 Reports Menu Reference 132 Create a New Report 133 Edit a Report 134 Run a Report 135 Analyze Report Data 137 Drill Down a Report 138 Working with Saved Reports 139 Schedule a Report 142 Report Templates 147 Report Template Layout
    [Show full text]
  • Elements of MLA Citations
    In English and in some humanities classes, you may be asked to use the MLA (Modern Language Association) system for documenting sources. The guidelines in this booklet follow those set forth in the MLA Handbook, 8th edition (2016). Rather than thinking of these guidelines simply as rules to be followed, we invite you to think of them as guidelines for partici­ pating in an academic community — a community in which the exchange of and extension of ideas requires a system. Even though the new guidelines present a system for citing many different kinds of sources, they don’t cover everything; and at times you will find that you have to think critically to adapt the guidelines to the source you are using. Elements of MLA citations MLA documentation consists of in-text citations that refer to a list of works cited at the end of a project. There are often several possible ways to cite a source in the list of works cited. Think care­ fully about your context for using the source so you can identify the pieces of information that you should include and any other information that might be helpful to your readers. The first step is to identify elements that are commonly found in works that writers cite. Author and title The first two elements, both of which are needed for many sources, are the author’s name and the title of the work. Each of these ele­ ments is followed by a period. Author. Title. 1 02_HAC_08268_01_42.indd 1 20/05/16 4:55 PM 2 Elements of MLA citations Container The next step is to identify elements of what MLA calls the “con­ tainer” for the work—any larger work that contains the source you are citing.
    [Show full text]
  • Arxiv:1810.03067V1 [Cs.IR] 7 Oct 2018
    Geocoding Without Geotags: A Text-based Approach for reddit Keith Harrigian Warner Media Applied Analytics Boston, MA [email protected] Abstract that will require more thorough informed consent processes (Kho et al., 2009; European Commis- In this paper, we introduce the first geolocation sion, 2018). inference approach for reddit, a social media While some social platforms have previously platform where user pseudonymity has thus far made supervised demographic inference dif- approached the challenge of balancing data access ficult to implement and validate. In particu- and privacy by offering users the ability to share lar, we design a text-based heuristic schema to and explicitly control public access to sensitive at- generate ground truth location labels for red- tributes, others have opted not to collect sensitive dit users in the absence of explicitly geotagged attribute data altogether. The social news website data. After evaluating the accuracy of our la- reddit is perhaps the largest platform in the lat- beling procedure, we train and test several ge- ter group; as of January 2018, it was the 5th most olocation inference models across our reddit visited website in the United States and 6th most data set and three benchmark Twitter geoloca- tion data sets. Ultimately, we show that ge- visited website globally (Alexa, 2018). Unlike olocation models trained and applied on the real-name social media platforms such as Face- same domain substantially outperform models book, reddit operates as a pseudonymous website, attempting to transfer training data across do- with the only requirement for participation being mains, even more so on reddit where platform- a screen name.
    [Show full text]
  • Blogging for Engines
    BLOGGING FOR ENGINES Blogs under the Influence of Software-Engine Relations Name: Anne Helmond Student number: 0449458 E-mail: [email protected] Blog: http://www.annehelmond.nl Date: January 28, 2008 Supervisor: Geert Lovink Secondary reader: Richard Rogers Institution: University of Amsterdam Department: Media Studies (New Media) Keywords Blog Software, Blog Engines, Blogosphere, Software Studies, WordPress Summary This thesis proposes to add the study of software-engine relations to the emerging field of software studies, which may open up a new avenue in the field by accounting for the increasing entanglement of the engines with software thus further shaping the field. The increasingly symbiotic relationship between the blogger, blog software and blog engines needs to be addressed in order to be able to describe a current account of blogging. The daily blogging routine shows that it is undesirable to exclude the engines from research on the phenomenon of blogs. The practice of blogging cannot be isolated from the software blogs are created with and the engines that index blogs and construct a searchable blogosphere. The software-engine relations should be studied together as they are co-constructed. In order to describe the software-engine relations the most prevailing standalone blog software, WordPress, has been used for a period of over seventeen months. By looking into the underlying standards and protocols of the canonical features of the blog it becomes clear how the blog software disperses and syndicates the blog and connects it to the engines. Blog standards have also enable the engines to construct a blogosphere in which the bloggers are subject to a software-engine regime.
    [Show full text]
  • The Visualisation of Topic Spreading Between
    Identifying a Topic Lifecycle • Research Objectives • Research Plan I (Kick-off meeting in Warsaw) • System Implementation (Part I) • Experimental Procedure • The Blog Data Used • Experimental Result • Research Plan II (Project meeting in Karlsruhe) • Identify a topic lifecycle • Extension to the Existing System Implementation •Summary Research Objectives • Identify emerging topics about public science debates (topic identification), such as GM foods and foot-and-mouth disease; • Keep track of the flow/spreading of the emerging topics (topic tracking). Research Plan I • Extract a set of terms from a collection of texts. • Apply a technique to select a set of significant terms which may represent emerging topics about science debates. • Group the significant terms into a number of blogs. System Implementation (Part I) RSS Monitor POS Tagger + NP Chunker Text Extractor Inverted Significant Blog List File Builder Term Selector Creator Blog data A collection A collection of Inverted A set of A blog in XML of texts chunked texts files significant node list terms Experimental Procedure • Apply three term selection methods independently, in order to select a set of significant terms on a certain date. These are chi-square statistics, mutual information and information gain. – Build 2x2 contingency table, so that chi-square and mutual information values can be computed. – Build a table which stores the entropy value of each date, so that information gain can be computed • Select a number of topics manually as a starting point. • Select a number
    [Show full text]