Browse College of Engineering by Contributor "Xie, Tao"

  • Butler, Liia M. (2019-04-22)
    To defend against collaborative cheating in code writing questions, instructors of CS1 courses with asynchronous exams can use the strategy of question variants, being manually written questions to be selected at random ...

    application/pdf

    application/pdfPDF (474kB)Restricted to U of Illinois
  • Gorse, Shirdon Ismial (2019-04-26)
    The microservice architecture is a service-oriented architecture that supports the development of small loosely-coupled software services. In contrast to the monolithic architecture, the microservice architecture is ...

    application/pdf

    application/pdfPDF (508kB)Restricted Access
  • Yang, Wei (2018-04-20)
    As mobile phones become an increasingly critical part of our world, ensuring the security and privacy of mobile applications (in short as apps) becomes increasingly important. For too long, researchers have often tackled ...

    application/pdf

    application/pdfPDF (1MB)
  • Cao, Jiayi (2018-04-27)
    Significant progress has been made in the field of automatic test generation, and Dynamic Symbolic Execution (DSE) is among the most effective techniques in this field. Despite its success, DSE still suffers from various ...

    application/pdf

    application/pdfPDF (740kB)
  • Dietz, William Barrett (2020-05-05)
    Managing the overwhelming complexity of software is a fundamental challenge because complexity is the root cause of problems regarding software performance, size, and security. Complexity is what makes software hard to ...

    application/pdf

    application/pdfPDF (9MB)
  • Lin, Yu (2015-09-21)
    In multicore era, programmers exploit concurrent programming to gain performance and responsiveness benefits. However, concurrent programs are difficult to write: the programmer has to balance two conflicting forces, thread ...

    application/pdf

    application/pdfPDF (3MB)
  • Liu, Xueqing (2019-12-06)
    Mobile devices are ubiquitous. As of 2019, two-thirds of the world population own a mobile phone. Mobile devices are indispensable for supporting billions of users' information access activities such as searching, browsing ...

    application/pdf

    application/pdfPDF (5MB)
  • Li, Dengfeng (2017-04-25)
    Given the ever increasing number of research tools to automatically generate inputs to test Android applications (or simply apps), researchers recently asked the question “Are we there yet?” (in terms of the practicality ...

    application/pdf

    application/pdfPDF (6MB)
  • Okur, Semih (2016-11-29)
    Concurrency is becoming the norm in modern software because multicores are now everywhere. Developers use concurrency constructs (i) to make their software responsive and scalable via asynchrony and (ii) to increase the ...

    application/pdf

    application/pdfPDF (1MB)
  • Legunsen, Owolabi (2019-12-05)
    The risk posed by software bugs has increased tremendously as software is now essential to many aspects of our daily lives. Software testing is still the most common method for finding bugs during software development, ...

    application/pdf

    application/pdfPDF (1MB)
  • Hariri, Farah (2018-04-18)
    Software testing is by far the most popular technique used in industry for quality assurance. One key challenge of software testing is how to evaluate the quality of test suites in terms of their bug-finding capability. A ...

    application/pdf

    application/pdfPDF (544kB)
  • Zhong, Zexuan (2019-04-26)
    Translating natural language descriptions into executable programs is a fundamental problem for computational linguistics. Recent research proposes neural-network-based approaches to address the problem. These approaches ...

    application/pdf

    application/pdfPDF (415kB)Restricted to U of Illinois
  • Saha, Shambwaditya (2019-12-05)
    The field of synthesis is seeing a renaissance in recent years, where the task is to automatically synthesize small expressions or programs. One of the most prominent techniques counterexample guided inductive synthesis ...

    application/pdf

    application/pdfPDF (1MB)
  • Srisakaokul, Siwakorn (2020-05-11)
    Neural networks recently have been used to solve many real-world tasks such as image recognition and can achieve high effectiveness on these tasks. Despite being popularly used in many applications, neural network models ...

    application/pdf

    application/pdfPDF (710kB)
  • Alebiosu, Oreoluwa (2017-04-26)
    Machine Learning (ML) software, used to implement an ML algorithm, is widely used in many application domains such as financial, business, and engineering domains. Faults in ML software can cause substantial losses in these ...

    application/pdf

    application/pdfPDF (452kB)
  • Tuncay, Guliz Seray (2019-07-10)
    Mobile operating systems (i.e., mobile platforms) favor flexibility and re-usability as design principles and provide mobile applications with channels for establishing cross-origin interactions in an effort to realize ...

    application/pdf

    application/pdfPDF (2MB)Restricted Access
  • Lee, Choonghwan (2014-01-16)
    Runtime verification is an effective and accurate technique for ensuring that an execution of a program conform to certain specifications at runtime. Although excessive runtime overhead, one of its main drawbacks, has been ...

    application/pdf

    application/pdfPDF (535kB)
  • Gyori, Alex (2017-07-10)
    Regression testing is the most wide-spread method to ensure the quality of software systems. Whenever a change is made to the software, tests are run to ensure bugs are not introduced: if all tests pass, the change is ...

    application/pdf

    application/pdfPDF (804kB)
  • Dasgupta, Sandeep (2020-05-04)
    The ability to directly reason about binary machine code is desirable, not only because it allows analyzing binaries even when the source code is not available (e.g., legacy code, closed-source software, or malware), but ...

    application/pdf

    application/pdfPDF (949kB)
  • Luo, Qingzhou (2015-06-02)
    With the development of multi-core processors, concurrent programs are becoming more and more popular. Among several models, the multithreaded shared-memory model is the predominant programming paradigm for developing ...

    application/pdf

    application/pdfPDF (1MB)