3,657 research outputs found
IDE Interaction Support With Command Recommender Systems
Software developers' knowledge of integrated development environment (IDE) directly impacts on their productivity. IDE command recommender systems aim at identifying and convincingly presenting to software developers functionality that can help them to accomplish their daily tasks, without overloading them with well known or useless information. Command recommendation requires the estimation of both the utility of commands and the acceptance of the user for new command recommendations. In this paper, we focus on how and when such recommendations should be presented. We performed a long-term user study and our results show that IDE command recommendation must be presented with adequate descriptions of the commands and good usage examples. It seems that a higher frequency of recommendation notifications could be useful, but it should not be too intrusive, especially while developers are focusing on more demanding tasks. To improve recommendation acceptance rate, researchers should also focus on context-aware algorithms and tailor command recommendation timing
Enabling High-Level Application Development for the Internet of Things
Application development in the Internet of Things (IoT) is challenging
because it involves dealing with a wide range of related issues such as lack of
separation of concerns, and lack of high-level of abstractions to address both
the large scale and heterogeneity. Moreover, stakeholders involved in the
application development have to address issues that can be attributed to
different life-cycles phases. when developing applications. First, the
application logic has to be analyzed and then separated into a set of
distributed tasks for an underlying network. Then, the tasks have to be
implemented for the specific hardware. Apart from handling these issues, they
have to deal with other aspects of life-cycle such as changes in application
requirements and deployed devices. Several approaches have been proposed in the
closely related fields of wireless sensor network, ubiquitous and pervasive
computing, and software engineering in general to address the above challenges.
However, existing approaches only cover limited subsets of the above mentioned
challenges when applied to the IoT. This paper proposes an integrated approach
for addressing the above mentioned challenges. The main contributions of this
paper are: (1) a development methodology that separates IoT application
development into different concerns and provides a conceptual framework to
develop an application, (2) a development framework that implements the
development methodology to support actions of stakeholders. The development
framework provides a set of modeling languages to specify each development
concern and abstracts the scale and heterogeneity related complexity. It
integrates code generation, task-mapping, and linking techniques to provide
automation. Code generation supports the application development phase by
producing a programming framework that allows stakeholders to focus on the
application logic, while our mapping and linking techniques together support
the deployment phase by producing device-specific code to result in a
distributed system collaboratively hosted by individual devices. Our evaluation
based on two realistic scenarios shows that the use of our approach improves
the productivity of stakeholders involved in the application development
A Conceptual Framework for Analysis of System Safety Interoperability of United States Navy\u27s Combat Systems
Today\u27s political and military reality requires the optimal use of our legacy systems. The objective is to maximize the effectiveness of our operations by efficient allocation, placement and the use of our forces and war-fighting systems. The synergism drawn from the capabilities of the legacy complex systems enables today\u27s war-fighting needs to be met without substantial increase in cost or resources. This synergism can be realized by the effective integration and interoperation of legacy systems into a larger, more complex system of systems.
However, the independently developed legacy systems in this new tactical environment often have different data types, languages, data modeling, operating systems, etc. These differences are impediments to the requirement for interoperability, and can create an environment of confusion, misinformation and certainly un-interoperability, hence hinder the safe interoperation of the metasystem and potentially increase the risk for mishaps. Safe interoperability capability assures that the mission objectives are achieved not only effectively but also safely.
The System Safety Interoperability Framework (SSIF) introduced in this dissertation provides the framework for the engineering community to evaluate, from system safety perspective, the interoperability issues between multiple complex systems in the U.S. Navy\u27s system of systems context. SSIF characterization attributes are System of Systems (SoS) tactical environment, SoS Engineering, SoS Safety Engineering, and Safety Critical Data. SSIF is applied to AEGIS Ballistic Missile Defense 3.0 Program to explore and analyze the safety interoperability issues in the overall system, by which the SSIF is further validated as an effective approach in analyzing the safe interoperability capability in Navy\u27s combat systems
VOICE BASED FOR BANKING SYSTEM
The trouble with traditional banking system service resulted difficulties, latency and low
quality of service, not suitable for disable people and require extra manpower to perform
simple bank activities. The goal of this project is to build a voice recognition based system
which specifies on the banking activities element and specializes in using voice as a medium to
run bank activities via telephony network system. Three fundamental objectives were
addressed in the study. First, to develop two-way interactive program of banking system,
which use voice as importantmechanism to receive instruction and response to user. Second, it
support to first objective which to develop such a user friendly andhighsecurity voice banking
system which requires the user first logs on to the system by furnishing the assigned customer
identification number and personal identification number before user proceed for further
actions. And therefore, there must have a strong database structure development of the
application in the voice banking system that purposely to maintain the integrity of the data
stored and responds to authorized user only. For third objective, is to determine the best
programming in order to implement in telephony network system. There is a study and
architecture on how voice can be accepted, manipulated and generated by using combination
two types of programming which are Cold Fusion and VoiceXML, which is goes to the third
objective. The functions of this system is proved and demanded by user as it provides such
convenience and easy services with just use voice to transmit the instruction. Hence, this
strategy will grab large number of customers and simultaneously will generate huge profit too
to the bank institution that applies this system. It is hoping that, by developing this system it
will be a platform for next developer to host the system and can be use a large number of
customers simultaneously and efficiently.
Keyword: Voice based, telephony, combination of programming, architectur
Recommender systems in model-driven engineering: A systematic mapping review
Recommender systems are information filtering systems used in many online applications like music and video broadcasting and e-commerce platforms. They are also increasingly being applied to facilitate software engineering activities. Following this trend, we are witnessing a growing research interest on recommendation approaches that assist with modelling tasks and model-based development processes. In this paper, we report on a systematic mapping review (based on the analysis of 66 papers) that classifies the existing research work on recommender systems for model-driven engineering (MDE). This study aims to serve as a guide for tool builders and researchers in understanding the MDE tasks that might be subject to recommendations, the applicable recommendation techniques and evaluation methods, and the open challenges and opportunities in this field of researchThis work has been funded by the European Union’s Horizon 2020
research and innovation programme under the Marie Skłodowska-Curie
Grant Agreement No. 813884 (Lowcomote [134]), by the Spanish
Ministry of Science (projects MASSIVE, RTI2018-095255-B-I00, and
FIT, PID2019-108965GB-I00) and by the R&D programme of Madrid
(Project FORTE, P2018/TCS-431
Designing Incentives Enabled Decentralized User Data Sharing Framework
Data sharing practices are much needed to strike a balance between user privacy, user experience, and profit. Different parties collect user data, for example, companies offering apps, social networking sites, and others, whose primary motive is an enhanced business model while giving optimal services to the end-users. However, the collection of user data is associated with serious privacy and security issues. The sharing platform also needs an effective incentive mechanism to realize transparent access to the user data while distributing fair incentives. The emerging literature on the topic includes decentralized data sharing approaches. However, there has been no universal method to track who shared what, to whom, when, for what purpose and under what condition in a verifiable manner until recently, when the distributed ledger technologies emerged to become the most effective means for designing a decentralized peer-to-peer network. This Ph.D. research includes an engineering approach for specifying the operations for designing incentives and user-controlled data-sharing platforms. The thesis presents a series of empirical studies and proposes novel blockchains- and smart contracts-based DUDS (Decentralized User Data Sharing) framework conceptualizing user-controlled data sharing practices. The DUDS framework supports immutability, authenticity, enhanced security, trusted records and is a promising means to share user data in various domains, including among researchers, customer data in e-commerce, tourism applications, etc. The DUDS framework is evaluated via performance analyses and user studies. The extended Technology Acceptance Model and a Trust-Privacy-Security Model are used to evaluate the usability of the DUDS framework. The evaluation allows uncovering the role of different factors affecting user intention to adopt data-sharing platforms. The results of the evaluation point to guidelines and methods for embedding privacy, user transparency, control, and incentives from the start in the design of a data-sharing framework to provide a platform that users can trust to protect their data while allowing them to control it and share it in the ways they want
Software development process mining: discovery, conformance checking and enhancement
Context. Modern software projects require the proper allocation of human, technical and
financial resources. Very often, project managers make decisions supported only by their personal
experience, intuition or simply by mirroring activities performed by others in similar
contexts. Most attempts to avoid such practices use models based on lines of code, cyclomatic
complexity or effort estimators, thus commonly supported by software repositories which are
known to contain several flaws.
Objective. Demonstrate the usefulness of process data and mining methods to enhance the
software development practices, by assessing efficiency and unveil unknown process insights,
thus contributing to the creation of novel models within the software development analytics
realm.
Method. We mined the development process fragments of multiple developers in three
different scenarios by collecting Integrated Development Environment (IDE) events during their
development sessions. Furthermore, we used process and text mining to discovery developers’
workflows and their fingerprints, respectively.
Results. We discovered and modeled with good quality developers’ processes during programming
sessions based on events extracted from their IDEs. We unveiled insights from
coding practices in distinct refactoring tasks, built accurate software complexity forecast models
based only on process metrics and setup a method for characterizing coherently developers’
behaviors. The latter may ultimately lead to the creation of a catalog of software development
process smells.
Conclusions. Our approach is agnostic to programming languages, geographic location or
development practices, making it suitable for challenging contexts such as in modern global
software development projects using either traditional IDEs or sophisticated low/no code platforms.Contexto. Projetos de software modernos requerem a correta alocação de recursos humanos,
técnicos e financeiros. Frequentemente, os gestores de projeto tomam decisões suportadas
apenas na sua própria experiência, intuição ou simplesmente espelhando atividades executadas
por terceiros em contextos similares. As tentativas para evitar tais práticas baseiam-se em
modelos que usam linhas de código, a complexidade ciclomática ou em estimativas de esforço,
sendo estes tradicionalmente suportados por repositórios de software conhecidos por conterem
várias limitações.
Objetivo. Demonstrar a utilidade dos dados de processo e respetivos métodos de análise na
melhoria das práticas de desenvolvimento de software, colocando o foco na análise da eficiência
e revelando aspetos dos processos até então desconhecidos, contribuindo para a criação de
novos modelos no contexto de análises avançadas para o desenvolvimento de software.
Método. Explorámos os fragmentos de processo de vários programadores em três cenários
diferentes, recolhendo eventos durante as suas sessões de desenvolvimento no IDE. Adicionalmente,
usámos métodos de descoberta e análise de processos e texto no sentido de modelar o
fluxo de trabalho dos programadores e as suas caracterÃsticas individuais, respetivamente.
Resultados. Descobrimos e modelámos com boa qualidade os processos dos programadores
durante as suas sessões de trabalho, usando eventos provenientes dos seus IDEs. Revelámos factos
desconhecidos sobre práticas de refabricação, construÃmos modelos de previsão da complexidade
ciclomática usando apenas métricas de processo e criámos um método para caracterizar
coerentemente os comportamentos dos programadores. Este último, pode levar à criação de um
catálogo de boas/más práticas no processo de desenvolvimento de software.
Conclusões. A nossa abordagem é agnóstica em termos de linguagens de programação,
localização geográfica ou prática de desenvolvimento, tornando-a aplicável em contextos complexos
tal como em projetos modernos de desenvolvimento global que utilizam tanto os IDEs
tradicionais como as atuais e sofisticadas plataformas "low/no code"
- …