-
Using Taint Analysis and Reinforcement Learning (TARL) to Repair Autonomous Robot Software
Authors:
D. M. Lyons,
S. Zahra
Abstract:
It is important to be able to establish formal performance bounds for autonomous systems. However, formal verification techniques require a model of the environment in which the system operates; a challenge for autonomous systems, especially those expected to operate over longer timescales. This paper describes work in progress to automate the monitor and repair of ROS-based autonomous robot softw…
▽ More
It is important to be able to establish formal performance bounds for autonomous systems. However, formal verification techniques require a model of the environment in which the system operates; a challenge for autonomous systems, especially those expected to operate over longer timescales. This paper describes work in progress to automate the monitor and repair of ROS-based autonomous robot software written for an a-priori partially known and possibly incorrect environment model. A taint analysis method is used to automatically extract the data-flow sequence from input topic to publish topic, and instrument that code. A unique reinforcement learning approximation of MDP utility is calculated, an empirical and non-invasive characterization of the inherent objectives of the software designers. By comparing off-line (a-priori) utility with on-line (deployed system) utility, we show, using a small but real ROS example, that it's possible to monitor a performance criterion and relate violations of the criterion to parts of the software. The software is then patched using automated software repair techniques and evaluated against the original off-line utility.
△ Less
Submitted 7 May, 2020;
originally announced May 2020.
-
Towards Lakosian Multilingual Software Design Principles
Authors:
Damian M. Lyons,
Saba B. Zahra,
Thomas M. Marshall
Abstract:
Large software systems often comprise programs written in different programming languages. In the case when cross-language interoperability is accomplished with a Foreign Function Interface (FFI), for example pybind11, Boost.Python, Emscripten, PyV8, or JNI, among many others, common software engineering tools, such as call-graph analysis, are obstructed by the opacity of the FFI. This complicates…
▽ More
Large software systems often comprise programs written in different programming languages. In the case when cross-language interoperability is accomplished with a Foreign Function Interface (FFI), for example pybind11, Boost.Python, Emscripten, PyV8, or JNI, among many others, common software engineering tools, such as call-graph analysis, are obstructed by the opacity of the FFI. This complicates debugging and fosters potential inefficiency and security problems. One contributing issue is that there is little rigorous software design advice for multilingual software. In this paper, we present our progress towards a more rigorous design approach to multilingual software. The approach is based on the existing approach to the design of large-scale C++ systems developed by Lakos. The Lakosian approach is one of the few design methodologies to address physical design rather than just logical design. Using the MLSA toolkit developed in prior work for analysis of multilingual software, we focus in on one FFI -- the pybind11 FFI. An extension to the Lakosian C++ design rules is proposed to address multilingual software that uses pybind11. Using a sample of 50 public GitHub repositories that use pybind11, we measure how many repositories would currently satisfy these rules. We conclude with a proposed generalization of the pybind11-based rules for any multilingual software using an FFI interface.
△ Less
Submitted 19 June, 2019;
originally announced June 2019.
-
Financial Studio: Android Based Application for Computing Tax, Pension, Zakat and Loan
Authors:
Muhammad Zubair Asghar,
Ulfat Batool,
Farheen Bibi,
Sadia Ismail,
Syeda Rabail Zahra
Abstract:
This work deals with the development of android-based financial studio, an integrated application for calculating tax, pension, zakat, and loan. Financial studio can facilitate employers of any department and other individuals. The application is developed using MIT app inventor-based android platform. The financial studio has four computational modules, namely: (i) tax, (ii) pension, (iii) zakat,…
▽ More
This work deals with the development of android-based financial studio, an integrated application for calculating tax, pension, zakat, and loan. Financial studio can facilitate employers of any department and other individuals. The application is developed using MIT app inventor-based android platform. The financial studio has four computational modules, namely: (i) tax, (ii) pension, (iii) zakat, and (iv) loan. The system provides an integrated environment for performing aforementioned distinct calculations by integrating different financial modules into a single application in a user-friendly way. The statistical analysis shows that the application is effective to deal with different financial calculations
△ Less
Submitted 12 May, 2016;
originally announced December 2016.
-
AndorEstimator: Android based Software Cost Estimation Application
Authors:
Muhammad Zubair Asghar,
Ammara Habib,
Anam Habib,
Syeda Rabail Zahra,
Sadia Ismail
Abstract:
The main aim of the proposed system is to assist the software development team to estimate the cost, effort and maintenance of the project under development. Android-based platform, namely MIT App Inventor is used for the development of application, which contains visual block programming language. The current study has following uniqueness of (1)Accuracy of results,(2)user friendly environment(3)…
▽ More
The main aim of the proposed system is to assist the software development team to estimate the cost, effort and maintenance of the project under development. Android-based platform, namely MIT App Inventor is used for the development of application, which contains visual block programming language. The current study has following uniqueness of (1)Accuracy of results,(2)user friendly environment(3)no such application is available on android platform to the best of our knowledge. Questionnaire regarding CoCoMo model is developed and circulated by using objective qualitative method. Findings: The estimation module of our application is quite important with respect to facilitating the students of software engineering for performing CoCoMo-based cost estimation easily, and enabling the software developers for performing software cost estimation easily. The cost estimator based on CoCoMo model is developed on android platform however, to the best of our knowledge no such application is available. This system can be used by business and educational stakeholders, such as students, software developers, and business organizations
△ Less
Submitted 8 May, 2016;
originally announced May 2016.