Lori Pollock

ORCID: 0000-0002-4388-4892
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Software Engineering Research
  • Software Testing and Debugging Techniques
  • Software Reliability and Analysis Research
  • Parallel Computing and Optimization Techniques
  • Teaching and Learning Programming
  • Software System Performance and Reliability
  • Distributed and Parallel Computing Systems
  • Software Engineering Techniques and Practices
  • Advanced Malware Detection Techniques
  • Advanced Software Engineering Methodologies
  • Gender and Technology in Education
  • Embedded Systems Design Techniques
  • Open Source Software Innovations
  • Advanced Data Storage Technologies
  • Green IT and Sustainability
  • Cloud Computing and Resource Management
  • Experimental Learning in Engineering
  • Child Development and Digital Technology
  • Logic, programming, and type systems
  • Security and Verification in Computing
  • Topic Modeling
  • Online Learning and Analytics
  • Distributed systems and fault tolerance
  • Web Data Mining and Analysis
  • Innovative Teaching and Learning Methods

University of Delaware
2015-2024

University of Bremen
2018

Fudan University
2018

Eindhoven University of Technology
2018

Microsoft (United States)
2018

University of Minnesota
2014

KTH Royal Institute of Technology
2014

University of California, Irvine
2014

Software Engineering Institute
2014

Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo"
2014

Studies have shown that good comments can help programmers quickly understand what a method does, aiding program comprehension and software maintenance. Unfortunately, few projects adequately comment the code. One way to overcome lack of human-written summary comments, guard against obsolete is automatically generate them. In this paper, we present novel technique descriptive for Java methods. Given signature body method, our automatic generator identifies content generates natural language...

10.1145/1858996.1859006 article EN 2010-09-20

Most software engineering tasks require developers to understand parts of the source code. When faced with unfamiliar code, often rely on (internal or external) documentation gain an overall understanding code and determine whether it is relevant for current task. Unfortunately, absent outdated. This paper presents a technique automatically generate human readable summaries Java classes, assuming no exists. The allow main goal structure class. focus content responsibilities rather than their...

10.1109/icpc.2013.6613830 article EN 2013-05-01

Most current software systems contain undocumented high-level ideas implemented across multiple files and modules. When developers perform program maintenance tasks, they often waste time effort locating understanding these scattered concerns. We have developed a semi-automated concern location comprehension tool, Find-Concept, designed to reduce the spend on tasks increase their confidence in results of tasks. Find-Concept is effective because it searches unique natural language-based...

10.1145/1218563.1218587 article EN 2007-03-14

As software systems continue to grow and evolve, locating code for maintenance reuse tasks becomes increasingly difficult. Existing static search techniques using natural language queries provide little support help developers determine whether results are relevant, few recommend alternative words reformulate poor queries. In this paper, we present a novel approach that automatically extracts phrases from source identifiers categorizes the in hierarchy. Our contextual allows explore word...

10.1109/icse.2009.5070524 article EN 2009-01-01

One approach to easing program comprehension is reduce the amount of code that a developer has read. Describing high level abstract algorithmic actions associated with fragments using succinct natural language phrases potentially enables newcomer focus on fewer and more concepts when trying understand given method. Unfortunately, such descriptions are typically missing because it tedious create them manually.

10.1145/1985793.1985808 article EN 2011-05-21

Automated software engineering tools (e.g., program search, concern location, code reuse, quality assessment, etc.) increasingly rely on natural language information from comments and identifiers in code. The first step analyzing words requires splitting into their constituent words. Unlike languages, where space punctuation are used to delineate words, cannot contain spaces. One common way split is follow programming naming conventions. For example, Java programmers often use camel case,...

10.1109/msr.2009.5069482 article EN 2009-05-01

Reducing the energy usage of software is becoming more important in many environments, particular, battery-powered mobile devices, embedded systems and data centers. Recent empirical studies indicate that engineers can support goal reducing by making design implementation decisions ways take into consideration how such impact an application. However, large number possible choices lack feedback information available to necessitates some form automated decision-making support. This paper...

10.1145/2568225.2568297 article EN Proceedings of the 44th International Conference on Software Engineering 2014-05-20

The energy consumption of software is an increasing concern as the use mobile applications, embedded systems, and data center-based services expands. While research in green engineering correspondingly increasing, little known about current practices perspectives engineers field. This paper describes first empirical study how practitioners think when they write requirements, design, construct, test, maintain their software. We report findings from a quantitative, targeted survey 464 ABB,...

10.1145/2884781.2884810 article EN Proceedings of the 44th International Conference on Software Engineering 2016-05-13

This study presents the design of an educational technology course for pre-service teachers specific to incorporating computational thinking in K-8 classroom settings. Subsequently, it examines how participation influences teachers' dispositions and knowledge concepts ways which such can be combined with content pedagogy promote meaningful student outcomes. Data were collected from a self-reported survey case reports focusing on design, implementation, outcomes related lessons classrooms....

10.14742/ajet.3521 article EN cc-by-nc-nd Australasian Journal of Educational Technology 2017-07-24

Context: Code refactoring's benefits to understandability, maintainability and extensibility are well known enough that automated support for refactoring is now common in IDEs. However, the decision apply such transformations currently performed without regard impacts of refactorings on energy consumption. This primarily due a lack information tools provide relevant developers. Unfortunately, concerns about efficiency rapidly becoming high priority concern many environments, including...

10.1145/2652524.2652538 article EN 2014-09-05

The continuous use of the web for daily operations by businesses, consumers, and government has created a great demand reliable applications. One promising approach to testing functionality applications leverages user-session data collected servers. User-session-based automatically generates test cases based on real user profiles. key contribution this paper is application concept analysis clustering sessions set heuristics case selection. Existing incremental algorithms are exploited avoid...

10.1109/tse.2007.70723 article EN IEEE Transactions on Software Engineering 2007-09-17

Completing software maintenance and evolution tasks for today's large, complex systems can be difficult, often requiring considerable time to understand the system well enough make correct changes. Despite evidence that successful programmers use program structure as identifier names explore software, most existing exploration techniques either structural or lexical information. By using only one type of information, automated tools ignore valuable clues about a developer's intentions -...

10.1145/1321631.1321637 article EN 2007-11-05

An important part of the leading comments for a method are formal parameters method. According to Java documentation writing guidelines, developers should write summary method'sactions followed by each parameter. In this paper, we describe novel technique automatically generate descriptive methods. Such generated can help alleviate lack developer written parameter comments. addition, they programmer in ensuring that comment is current with code. We present heuristics provide high-level...

10.1109/icpc.2011.28 article EN 2011-06-01

When writing software, developers often employ abbreviations in identifier names. In fact, some may never occur with the expanded word, or more code. However, most existing program comprehension and search tools do little to address problem of abbreviations, therefore miss meaningful pieces code relationships between software artifacts. this paper, we present an automated approach mining abbreviation expansions from source enhance maintenance that utilize natural language information. Our...

10.1145/1370750.1370771 article EN 2008-05-10

Many software development and maintenance tools involve matching between natural language words in different artifacts (e.g., traceability) or queries submitted by a user code search). Because people likely created the various artifacts, effectiveness of these is often improved expanding adding related to textual artifact representations. Synonyms are particularly useful overcome mismatch vocabularies, as well other word relations that indicate semantic similarity. However, experience shows...

10.1109/msr.2013.6624052 article EN 2013-05-01

As the use of computers has grown, so too concern about amount power they consume. Data centers, for example, are limited in scalability as struggle with soaring energy costs from many large companies relying on fast, reliable, and round-the-clock computing services. On large-scale clusters, like data even a small drop consumption can have effects. Across contexts, reducing consumed by become major focus. In this paper, we present new approach mapping software design to empirical results...

10.1109/greens.2012.6224257 article EN 2012-06-01

Current policy efforts that seek to improve learning in science, technology, engineering, and mathematics (STEM) emphasize the importance of helping all students acquire concepts tools from computer science help them analyze develop solutions everyday problems. These goals have been generally described literature under term computational thinking. In this article, we report on design, implementation, outcomes an after-school program The was founded through a partnership between university...

10.1080/15391523.2016.1146561 article EN Journal of Research on Technology in Education 2016-02-29

The low cost of resource ownership and flexibility have led users to increasingly port their applications the clouds. To fully realize benefits cloud services, usually need reliably know execution performance applications. However, due random fluctuations experienced by applications, black box nature public clouds usage costs, testing on acquire accurate results is extremely difficult. In this paper, we present a novel methodology called PT4Cloud. By employing non-parametric statistical...

10.1145/3338906.3338912 article EN 2019-08-09

A technique is presented for incrementally updating solutions to both union and intersection data-flow problems in response program edits transformations. For generality, the based on iterative approach computing information. The authors show that problems, some changes can be incorporated immediately into sets while others are handled by a two-phase approach. first phase updates overestimate effect of change, enabling second update affected reflect actual change. An important problem...

10.1109/32.58766 article EN IEEE Transactions on Software Engineering 1989-01-01

User-session-based testing of web applications gathers user sessions to create and continually update test suites based on real input in the field. To support this approach during maintenance beta phases, we have built an automated framework for web-based software that focuses scalability evolving suite automatically as application's operational profile changes. This paper reports automation replay oracle components applications, which pose issues beyond those equivalent steps traditional,...

10.1145/1101908.1101947 article EN 2005-11-07

Modern software systems are typically large and complex, making comprehension of these extremely difficult. Experienced programmers comprehend code by seamlessly processing synonyms other word relations. Thus, we believe that automated tools can be significantly improved leveraging relations in software. In this paper, perform a comparative study six state the art, English-based semantic similarity techniques evaluate their effectiveness on words from comments identifiers Our results suggest...

10.1109/icpc.2008.18 article EN 2008-06-01

As software continues to grow, locating code for maintenance tasks becomes increasingly difficult. Software search tools help developers find source relevant their tasks. One major challenge successful is when the user's query contains words with multiple meanings or that occur frequently throughout program. Traditional techniques, which treat each word individually, are unable distinguish and irrelevant methods under these conditions. In this paper, we present a novel technique uses...

10.1109/ase.2011.6100115 article EN 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2011-11-01

As the use of computers has grown, so too concern about amount power they consume. Data centers, for example, are limited in scalability as struggle with soaring energy costs from many large companies relying on fast, reliable, and round-the-clock computing services. On large-scale clusters, like data even a small drop consumption can have effects. Across contexts, reducing consumed by become major focus. In this paper, we present new approach mapping software design to empirical results...

10.5555/2663779.2663789 article EN 2012-06-03

To aid program comprehension, programmers choose identifiers for methods, classes, fields and other elements primarily by following naming conventions in software. These software "naming conventions" follow systematic patterns which can convey deep natural language clues that be leveraged engineering tools. For example, they used to increase the accuracy of search tools, improve ability navigation tools recommend related raise analyses. After splitting multi-word names into their component...

10.1109/icpc.2013.6613828 article EN 2013-05-01

Modern software development communities are increasingly social. Popular chat platforms such as Slack host public that focus on specific topics Python or Ruby-on-Rails. Conversations in these chats often follow a Q&A format, with someone seeking information and others providing answers form. In this paper, we describe an exploratory study into the potential use-fulness challenges of mining developer conversations for supporting maintenance evolution tools. We designed to investigate...

10.1109/msr.2019.00075 article EN 2019-05-01
Coming Soon ...