Kevin Moran

ORCID: 0000-0001-9683-5616
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Advanced Malware Detection Techniques
  • Software Engineering Research
  • Software Testing and Debugging Techniques
  • Mobile and Web Applications
  • Web Data Mining and Analysis
  • Green IT and Sustainability
  • Software System Performance and Reliability
  • Software Engineering Techniques and Practices
  • Software Reliability and Analysis Research
  • Natural Language Processing Techniques
  • Information and Cyber Security
  • Digital and Cyber Forensics
  • Multimedia Communication and Technology
  • Security and Verification in Computing
  • Topic Modeling
  • Interactive and Immersive Displays
  • COVID-19 diagnosis using AI
  • Artificial Intelligence in Healthcare and Education
  • Advanced Software Engineering Methodologies
  • User Authentication and Security Systems
  • Usability and User Interface Design
  • Smart Grid Energy Management
  • Real-time simulation and control systems
  • Museums and Cultural Heritage
  • Domain Adaptation and Few-Shot Learning

George Mason University
2020-2024

University of Central Florida
2023-2024

William & Mary
2015-2023

Williams (United States)
2015-2023

Universidad Nacional de Colombia
2023

Rensselaer Polytechnic Institute
2021

RheinMain University of Applied Sciences
2021

Moscow State University
2021

Lomonosov Moscow State University
2021

Moscow Institute of Physics and Technology
2021

It is common practice for developers of user-facing software to transform a mock-up graphical user interface (GUI) into code. This process takes place both at an application's inception and in evolutionary context as GUI changes keep pace with evolving features. Unfortunately, this challenging time-consuming. In paper, we present approach that automates by enabling accurate prototyping GUIs via three tasks: detection, classification, assembly. First, logical components are detected from...

10.1109/tse.2018.2844788 article EN publisher-specific-oa IEEE Transactions on Software Engineering 2018-06-07

Mobile developers face unique challenges when detecting and reporting crashes in apps due to their prevailing GUI event-driven nature additional sources of inputs (e.g., sensor readings). To support these tasks, we introduce a novel, automated approach called CRASHSCOPE. This tool explores given Android app using systematic input generation, according several strategies informed by static dynamic analyses, with the intrinsic goal triggering crashes. When crash is detected, CRASHSCOPE...

10.1109/icst.2016.34 preprint EN 2016-04-01

An increasingly popular set of techniques adopted by software engineering (SE) researchers to automate development tasks are those rooted in the concept Deep Learning (DL). The popularity such largely stems from their automated feature capabilities, which aid modeling artifacts. However, due rapid pace at DL have been adopted, it is difficult distill current successes, failures, and opportunities research landscape. In an effort bring clarity this cross-cutting area work, its modern...

10.1145/3485275 article EN ACM Transactions on Software Engineering and Methodology 2022-03-04

Enabling fully automated testing of mobile applications has recently become an important topic study for both researchers and practitioners. A plethora tools approaches have been proposed to aid developers by augmenting manual practices automating various parts the process. However, current fall short in convincing about their benefits, leading a majority being performed manually. With goal helping practitioners - who design supporting understand developer's needs, we analyzed survey...

10.1109/icsme.2017.47 article EN 2017-09-01

Mobile app development involves a unique set of challenges including device fragmentation and rapidly evolving platforms, making testing difficult task. The design space for comprehensive mobile strategy includes features, inputs, potential contextual states, large combinations devices underlying platforms. Therefore, automated is an essential activity the process. However, current state art tools apps posses limitations that has driven preference manual in practice. As today, there no...

10.1109/icsme.2017.27 article EN 2017-09-01

Software testing is an essential part of the software lifecycle and requires a substantial amount time effort. It has been estimated that developers spend close to 50% their on code they write. For these reasons, long standing goal within research community (partially) automate testing. While several techniques tools have proposed automatically generate test methods, recent work criticized quality usefulness assert statements generate. Therefore, we employ Neural Machine Translation (NMT)...

10.1145/3377811.3380429 preprint EN 2020-06-27

The modern software development landscape has seen a shift in focus toward mobile applications as tablets and smartphones near ubiquitous adoption. Due to this trend, the complexity of these "apps" been increasing, making maintenance challenging. Additionally, current bug tracking systems are not able effectively support construction reports with actionable information that directly lead bug's resolution. To address need for an improved reporting system, we introduce novel solution, called...

10.1145/2786805.2786857 preprint EN 2015-08-26

Mutation testing has been widely used to assess the fault-detection effectiveness of a test suite, as well guide case generation or prioritization. Empirical studies have shown that, while mutants are generally representative real faults, an effective application mutation requires "traditional" operators designed for programming languages be augmented with specific domain and/or technology. This paper proposes MDroid+, framework Android apps. First, we systematically devise taxonomy 262...

10.1145/3106237.3106275 preprint EN 2017-08-02

GUI-based models extracted from Android app execution traces, events, or source code can be extremely useful for challenging tasks such as the generation of scenarios test cases. However, extracting effective an expensive process. Moreover, existing approaches automatically deriving are not able to generate that include events which were observed in (nor event) traces. In this paper, we address these and other major challenges our novel hybrid approach, coined MONKEYLAB. Our approach is...

10.5555/2820518.2820534 article EN Mining Software Repositories 2015-05-16

Screen recordings of mobile applications are easy to obtain and capture a wealth information pertinent software developers (e.g., bugs or feature requests), making them popular mechanism for crowdsourced app feedback. Thus, these videos becoming common artifact that must manage. In light unique development constraints, including swift release cycles rapidly evolving platforms, automated techniques analyzing all types rich artifacts provide benefit developers. Unfortunately, automatically...

10.1145/3377811.3380328 preprint EN 2020-06-27

GUI-based models extracted from Android app execution traces, events, or source code can be extremely useful for challenging tasks such as the generation of scenarios test cases. However, extracting effective an expensive process. Moreover, existing approaches automatically deriving are not able to generate that include events which were observed in (nor event) traces. In this paper, we address these and other major challenges our novel hybrid approach, coined MONKEYLAB. Our approach is...

10.1109/msr.2015.18 preprint EN 2015-05-01

Test Case Prioritization (TCP) is an increasingly important regression testing technique for reordering test cases according to a pre-defined goal, particularly as agile practices gain adoption. To better understand these techniques, we perform the first extensive study aimed at empirically evaluating four static TCP comparing them with state-of-research dynamic techniques across several quality metrics. This was performed on 58 real-word Java programs encompassing 714 KLoC and results in...

10.1109/tse.2018.2822270 article EN IEEE Transactions on Software Engineering 2018-04-02

A major problem with user-written bug reports, indicated by developers and documented researchers, is the (lack of high) quality reported steps to reproduce bugs. Low-quality lead excessive manual effort spent on triage resolution. This paper proposes Euler, an approach that automatically identifies assesses in a report, providing feedback reporters, which they can use improve report. The provided Euler was assessed external evaluators results indicate correctly identified 98% existing 58%...

10.1145/3338906.3338947 article EN 2019-08-09

Test Case Prioritization (TCP) is an important component of regression testing, allowing for earlier detection faults or helping to reduce testing time and cost. While several TCP approaches exist in the research literature, a growing number studies have evaluated them against synthetic software defects, called mutants. Hence, it currently unclear what extent performance on mutants would be representative achieved real faults. To answer this fundamental question, we conduct first empirical...

10.1109/icsme.2018.00033 article EN 2018-09-01

When a bug manifests in user-facing application, it is likely to be exposed through the graphical user interface (GUI). Given importance of visual information process identifying and understanding such bugs, users are increasingly making use screenshots screen-recordings as means report issues developers. However, when reported en masse, during crowd-sourced testing, managing these artifacts can time-consuming process. As reporting particular becomes more popular, developers face challenges...

10.1109/icse43902.2021.00091 article EN 2021-05-01

Unique challenges arise when testing mobile applications due to their prevailing event-driven nature and complex contextual features (e.g. sensors, notifications). Current automated input generation approaches for Android apps are typically not practical developers use required instrumentation or platform dependence generally do effectively exercise features. To better support in tasks, this demo we present a novel, tool called CrashScope. This explores given app using systematic generation,...

10.1109/icse-c.2017.16 preprint EN 2017-05-01

The large body of existing research in Test Case Prioritization (TCP) techniques, can be broadly classified into two categories: dynamic techniques (that rely on run-time execution information) and static operate directly source test code). Absent from this current work is a comprehensive study aimed at understanding evaluating the approaches comparing them to set projects. In work, we perform first extensive empirically four TCP with state-of-research different test-case granularities...

10.1145/2950290.2950344 preprint EN 2016-11-01

The inception of a mobile app often takes form mock-up the Graphical User Interface (GUI), represented as static image delineating proper layout and style GUI widgets that satisfy requirements. Following this initial mock-up, design artifacts are then handed off to developers whose goal is accurately implement these GUIs desired functionality in code. Given sizable abstraction gap between mock-ups code, introduce mistakes related can negatively impact an app's success highly competitive...

10.1145/3180155.3180246 article EN Proceedings of the 44th International Conference on Software Engineering 2018-05-27

Designing practical security systems for the smart home is challenging without knowledge of realistic usage. This paper describes design and implementation Hεlion, a framework that generates natural automation scenarios by identifying regularities in user-driven sequences, which are turn generated from routines created end-users. Our key hypothesis event sequences users exhibit inherent semantic patterns, or naturalness can be modeled used to generate valid useful scenarios. To evaluate our...

10.1109/sp40000.2020.00062 article EN 2022 IEEE Symposium on Security and Privacy (SP) 2020-05-01

Neural Language Models of Code, or Code (NCMs), are rapidly progressing from research prototypes to commercial developer tools. As such, understanding the capabilities and limitations such models is becoming critical. However, abilities these typically measured using automated metrics that often only reveal a portion their real-world performance. While, in general, performance NCMs appears promising, currently much unknown about how arrive at decisions. To this end, paper introduces <italic...

10.1109/tse.2024.3379943 article EN IEEE Transactions on Software Engineering 2024-03-21

Homes powered fully or partially by renewable sources such as solar are becoming more widely adopted, however energy management strategies in these environments lacking. This paper presents the first results of a study that explores home automation techniques for achieving better utilization generated technologies. First, using network off-the-shelf sensing devices, we observe generation and consumption an off-grid is both variable predictable. Moreover, find reactive insufficient to prevent...

10.1145/2018567.2018572 article EN 2011-08-15

The importance of random number generators (RNGs) to various computing applications is well understood. To ensure a quality level output, high-entropy sources should be utilized as input. However, the algorithms used have not yet fully evolved utilize newer technology. Even Android pseudo RNG (APRNG) merely builds atop Linux produce numbers. This paper presents an exploratory study into methods generating numbers on sensor-equipped mobile and Internet Things devices. We first perform data...

10.1109/jiot.2016.2572638 article EN publisher-specific-oa IEEE Internet of Things Journal 2016-05-24

Mobile applications have become a popular software development domain in recent years due part to large user base, capable hardware, and accessible platforms. However, mobile developers also face unique challenges, including pressure for frequent releases keep pace with rapid platform evolution, hardware iteration, feedback. Due this of need automated support documenting the changes made their apps order aid program comprehension. One more challenging types document are those graphical...

10.1145/3238147.3238203 article EN 2018-08-20

Mutation testing has shown great promise in assessing the effectiveness of test suites while exhibiting additional applications to test-case generation, selection, and prioritization. Traditional mutation typically utilizes a set simple language specific source code transformations, called operators, introduce faults. However, empirical studies have that for be most effective, these operators must augmented with domain software under test. One challenging application is mobile apps. While...

10.1145/3183440.3183492 preprint EN 2018-05-27

Bug reports are essential for developers to confirm software problems, investigate their causes, and validate fixes. Unfortunately, often miss important information or written unclearly, which can cause delays, increased issue resolution effort, even the inability solve issues. One of most common components that problematic is steps reproduce bug(s) (S2Rs), replicate described program failures reason about Given proclivity deficiencies in reported S2Rs, prior work has proposed techniques...

10.48550/arxiv.2502.04251 preprint EN arXiv (Cornell University) 2025-02-06
Coming Soon ...