Modern Software

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 113505 Experts worldwide ranked by ideXlab platform

Suleiman Aliyu - One of the best experts on this subject based on the ideXlab platform.

  • Modern Software cybernetics
    Journal of Systems and Software, 2017
    Co-Authors: Hongji Yang, Feng Chen, Suleiman Aliyu
    Abstract:

    Classify Software cybernetics as Software Cybernetics I and II.Identify the transition from Software Cybernetics I to Software Cybernetics II.Indicate that some new research areas are related to Software Cybernetics II.Highlight new research trends of Software Cybernetics II for further research. Software cybernetics research is to apply a variety of techniques from cybernetics research to Software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work relating to Software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the Software under observation and control. Beyond the first-order cybernetics, the Software, developers/users, and running environments influence each other and thus create feedback to form more complicated systems. We classify Software cybernetics as Software Cybernetics I based on the first-order cybernetics, and as Software Cybernetics II based on the higher order cybernetics. This paper provides a review of the literature on Software cybernetics, particularly focusing on the transition from Software Cybernetics I to Software Cybernetics II. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Software Cybernetics II. The paper identifies the relationships between the techniques of Software Cybernetics II applied and the new research areas to which they have been applied, formulates research problems and challenges of Software cybernetics with the application of principles of Phase II of Software cybernetics; identifies and highlights new research trends of Software cybernetic for further research.

  • WITHDRAWN: Modern Software cybernetics: Trends with new cybernetics
    Journal of Systems and Software, 2016
    Co-Authors: Hongji Yang, Feng Chen, Suleiman Aliyu
    Abstract:

    Software cybernetics research is to apply a variety of techniques from cybernetics research to Software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work on Software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the Software under observation and control. Beyond the first-order cybernetics, the Software, developers/users, and running environments influence each other and thus create feedback to form a more complicated system. We classify Software cybernetics as classical Software cybernetics based on the first-order cybernetics, and as Modern Software cybernetics based on the higher order cybernetics (new cybernetics). This paper provides a review of literature on Software cybernetics, especially focuses on the transition from classical Software cybernetics to Modern Software cybernetics. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Modern Software cybernetics. The paper identifies the relationships between the techniques of new cybernetics applied and the new research areas to which they have been applied; formulates research problems and challenges of Software cybernetics with the application of principles of new cybernetics; identifies and highlights new research trends of Modern Software cybernetic for further research.

Darko Marinov - One of the best experts on this subject based on the ideXlab platform.

  • an extensive study of static regression test selection in Modern Software evolution
    Foundations of Software Engineering, 2016
    Co-Authors: Owolabi Legunsen, Farah Hariri, August Shi, Lingming Zhang, Darko Marinov
    Abstract:

    Regression test selection (RTS) aims to reduce regression testing time by only re-running the tests affected by code changes. Prior research on RTS can be broadly split into dy namic and static techniques. A recently developed dynamic RTS technique called Ekstazi is gaining some adoption in practice, and its evaluation shows that selecting tests at a coarser, class-level granularity provides better results than selecting tests at a finer, method-level granularity. As dynamic RTS is gaining adoption, it is timely to also evaluate static RTS techniques, some of which were proposed over three decades ago but not extensively evaluated on Modern Software projects. This paper presents the first extensive study that evaluates the performance benefits of static RTS techniques and their safety; a technique is safe if it selects to run all tests that may be affected by code changes. We implemented two static RTS techniques, one class-level and one method-level, and compare several variants of these techniques. We also compare these static RTS techniques against Ekstazi, a state-of-the-art, class-level, dynamic RTS technique. The experimental results on 985 revisions of 22 open-source projects show that the class-level static RTS technique is comparable to Ekstazi, with similar performance benefits, but at the risk of being unsafe sometimes. In contrast, the method-level static RTS technique performs rather poorly.

  • SIGSOFT FSE - An extensive study of static regression test selection in Modern Software evolution
    Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2016
    Co-Authors: Owolabi Legunsen, Farah Hariri, August Shi, Lingming Zhang, Darko Marinov
    Abstract:

    Regression test selection (RTS) aims to reduce regression testing time by only re-running the tests affected by code changes. Prior research on RTS can be broadly split into dy namic and static techniques. A recently developed dynamic RTS technique called Ekstazi is gaining some adoption in practice, and its evaluation shows that selecting tests at a coarser, class-level granularity provides better results than selecting tests at a finer, method-level granularity. As dynamic RTS is gaining adoption, it is timely to also evaluate static RTS techniques, some of which were proposed over three decades ago but not extensively evaluated on Modern Software projects. This paper presents the first extensive study that evaluates the performance benefits of static RTS techniques and their safety; a technique is safe if it selects to run all tests that may be affected by code changes. We implemented two static RTS techniques, one class-level and one method-level, and compare several variants of these techniques. We also compare these static RTS techniques against Ekstazi, a state-of-the-art, class-level, dynamic RTS technique. The experimental results on 985 revisions of 22 open-source projects show that the class-level static RTS technique is comparable to Ekstazi, with similar performance benefits, but at the risk of being unsafe sometimes. In contrast, the method-level static RTS technique performs rather poorly.

Hongji Yang - One of the best experts on this subject based on the ideXlab platform.

  • Modern Software cybernetics
    Journal of Systems and Software, 2017
    Co-Authors: Hongji Yang, Feng Chen, Suleiman Aliyu
    Abstract:

    Classify Software cybernetics as Software Cybernetics I and II.Identify the transition from Software Cybernetics I to Software Cybernetics II.Indicate that some new research areas are related to Software Cybernetics II.Highlight new research trends of Software Cybernetics II for further research. Software cybernetics research is to apply a variety of techniques from cybernetics research to Software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work relating to Software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the Software under observation and control. Beyond the first-order cybernetics, the Software, developers/users, and running environments influence each other and thus create feedback to form more complicated systems. We classify Software cybernetics as Software Cybernetics I based on the first-order cybernetics, and as Software Cybernetics II based on the higher order cybernetics. This paper provides a review of the literature on Software cybernetics, particularly focusing on the transition from Software Cybernetics I to Software Cybernetics II. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Software Cybernetics II. The paper identifies the relationships between the techniques of Software Cybernetics II applied and the new research areas to which they have been applied, formulates research problems and challenges of Software cybernetics with the application of principles of Phase II of Software cybernetics; identifies and highlights new research trends of Software cybernetic for further research.

  • WITHDRAWN: Modern Software cybernetics: Trends with new cybernetics
    Journal of Systems and Software, 2016
    Co-Authors: Hongji Yang, Feng Chen, Suleiman Aliyu
    Abstract:

    Software cybernetics research is to apply a variety of techniques from cybernetics research to Software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work on Software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the Software under observation and control. Beyond the first-order cybernetics, the Software, developers/users, and running environments influence each other and thus create feedback to form a more complicated system. We classify Software cybernetics as classical Software cybernetics based on the first-order cybernetics, and as Modern Software cybernetics based on the higher order cybernetics (new cybernetics). This paper provides a review of literature on Software cybernetics, especially focuses on the transition from classical Software cybernetics to Modern Software cybernetics. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Modern Software cybernetics. The paper identifies the relationships between the techniques of new cybernetics applied and the new research areas to which they have been applied; formulates research problems and challenges of Software cybernetics with the application of principles of new cybernetics; identifies and highlights new research trends of Modern Software cybernetic for further research.

Owolabi Legunsen - One of the best experts on this subject based on the ideXlab platform.

  • an extensive study of static regression test selection in Modern Software evolution
    Foundations of Software Engineering, 2016
    Co-Authors: Owolabi Legunsen, Farah Hariri, August Shi, Lingming Zhang, Darko Marinov
    Abstract:

    Regression test selection (RTS) aims to reduce regression testing time by only re-running the tests affected by code changes. Prior research on RTS can be broadly split into dy namic and static techniques. A recently developed dynamic RTS technique called Ekstazi is gaining some adoption in practice, and its evaluation shows that selecting tests at a coarser, class-level granularity provides better results than selecting tests at a finer, method-level granularity. As dynamic RTS is gaining adoption, it is timely to also evaluate static RTS techniques, some of which were proposed over three decades ago but not extensively evaluated on Modern Software projects. This paper presents the first extensive study that evaluates the performance benefits of static RTS techniques and their safety; a technique is safe if it selects to run all tests that may be affected by code changes. We implemented two static RTS techniques, one class-level and one method-level, and compare several variants of these techniques. We also compare these static RTS techniques against Ekstazi, a state-of-the-art, class-level, dynamic RTS technique. The experimental results on 985 revisions of 22 open-source projects show that the class-level static RTS technique is comparable to Ekstazi, with similar performance benefits, but at the risk of being unsafe sometimes. In contrast, the method-level static RTS technique performs rather poorly.

  • SIGSOFT FSE - An extensive study of static regression test selection in Modern Software evolution
    Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2016
    Co-Authors: Owolabi Legunsen, Farah Hariri, August Shi, Lingming Zhang, Darko Marinov
    Abstract:

    Regression test selection (RTS) aims to reduce regression testing time by only re-running the tests affected by code changes. Prior research on RTS can be broadly split into dy namic and static techniques. A recently developed dynamic RTS technique called Ekstazi is gaining some adoption in practice, and its evaluation shows that selecting tests at a coarser, class-level granularity provides better results than selecting tests at a finer, method-level granularity. As dynamic RTS is gaining adoption, it is timely to also evaluate static RTS techniques, some of which were proposed over three decades ago but not extensively evaluated on Modern Software projects. This paper presents the first extensive study that evaluates the performance benefits of static RTS techniques and their safety; a technique is safe if it selects to run all tests that may be affected by code changes. We implemented two static RTS techniques, one class-level and one method-level, and compare several variants of these techniques. We also compare these static RTS techniques against Ekstazi, a state-of-the-art, class-level, dynamic RTS technique. The experimental results on 985 revisions of 22 open-source projects show that the class-level static RTS technique is comparable to Ekstazi, with similar performance benefits, but at the risk of being unsafe sometimes. In contrast, the method-level static RTS technique performs rather poorly.

Aravind Prakash - One of the best experts on this subject based on the ideXlab platform.

  • supplementing Modern Software defenses with stack pointer sanity
    Annual Computer Security Applications Conference, 2017
    Co-Authors: Anh Quach, Matthew Cole, Aravind Prakash
    Abstract:

    The perpetual cat-and-mouse game between attackers and Software defenders has highlighted the need for strong and robust security. With performance as a key concern, most Modern defenses focus on control-flow integrity (CFI), a program property that requires runtime execution of a program to adhere to a statically determined control-flow graph (CFG). Despite its success in preventing traditional return-oriented programming (ROP), CFI is known to be ineffective against Modern attacks that adhere to a statically recovered CFG (e.g., COOP). This paper introduces stack-pointer integrity (SPI) as a means to supplement CFI and other Modern defense techniques. Due to its ability to influence indirect control targets, stack pointer is a key artifact in attacks. We define SPI as a property comprising of two key sub-properties - Stack Localization and Stack Conservation - and implement a LLVM-based compiler prototype codenamed SPIglass that enforces SPI. We demonstrate a low implementation overhead and incremental deployability, two of the most desirable features for practical deployment. Our performance experiments show that the overhead of our defense is low in practice. We opensource SPIglass for the benefit of the community.

  • ACSAC - Supplementing Modern Software Defenses with Stack-Pointer Sanity
    Proceedings of the 33rd Annual Computer Security Applications Conference, 2017
    Co-Authors: Anh Quach, Matthew Cole, Aravind Prakash
    Abstract:

    The perpetual cat-and-mouse game between attackers and Software defenders has highlighted the need for strong and robust security. With performance as a key concern, most Modern defenses focus on control-flow integrity (CFI), a program property that requires runtime execution of a program to adhere to a statically determined control-flow graph (CFG). Despite its success in preventing traditional return-oriented programming (ROP), CFI is known to be ineffective against Modern attacks that adhere to a statically recovered CFG (e.g., COOP). This paper introduces stack-pointer integrity (SPI) as a means to supplement CFI and other Modern defense techniques. Due to its ability to influence indirect control targets, stack pointer is a key artifact in attacks. We define SPI as a property comprising of two key sub-properties - Stack Localization and Stack Conservation - and implement a LLVM-based compiler prototype codenamed SPIglass that enforces SPI. We demonstrate a low implementation overhead and incremental deployability, two of the most desirable features for practical deployment. Our performance experiments show that the overhead of our defense is low in practice. We opensource SPIglass for the benefit of the community.