1,705 research outputs found

    Overcoming Language Dichotomies: Toward Effective Program Comprehension for Mobile App Development

    Full text link
    Mobile devices and platforms have become an established target for modern software developers due to performant hardware and a large and growing user base numbering in the billions. Despite their popularity, the software development process for mobile apps comes with a set of unique, domain-specific challenges rooted in program comprehension. Many of these challenges stem from developer difficulties in reasoning about different representations of a program, a phenomenon we define as a "language dichotomy". In this paper, we reflect upon the various language dichotomies that contribute to open problems in program comprehension and development for mobile apps. Furthermore, to help guide the research community towards effective solutions for these problems, we provide a roadmap of directions for future work.Comment: Invited Keynote Paper for the 26th IEEE/ACM International Conference on Program Comprehension (ICPC'18

    Large Language Models for Software Engineering: A Systematic Literature Review

    Full text link
    Large Language Models (LLMs) have significantly impacted numerous domains, notably including Software Engineering (SE). Nevertheless, a well-rounded understanding of the application, effects, and possible limitations of LLMs within SE is still in its early stages. To bridge this gap, our systematic literature review takes a deep dive into the intersection of LLMs and SE, with a particular focus on understanding how LLMs can be exploited in SE to optimize processes and outcomes. Through a comprehensive review approach, we collect and analyze a total of 229 research papers from 2017 to 2023 to answer four key research questions (RQs). In RQ1, we categorize and provide a comparative analysis of different LLMs that have been employed in SE tasks, laying out their distinctive features and uses. For RQ2, we detail the methods involved in data collection, preprocessing, and application in this realm, shedding light on the critical role of robust, well-curated datasets for successful LLM implementation. RQ3 allows us to examine the specific SE tasks where LLMs have shown remarkable success, illuminating their practical contributions to the field. Finally, RQ4 investigates the strategies employed to optimize and evaluate the performance of LLMs in SE, as well as the common techniques related to prompt optimization. Armed with insights drawn from addressing the aforementioned RQs, we sketch a picture of the current state-of-the-art, pinpointing trends, identifying gaps in existing research, and flagging promising areas for future study

    Addressing the evolution of automated user behaviour patterns by runtime model interpretation

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s10270-013-0371-3The use of high-level abstraction models can facilitate and improve not only system development but also runtime system evolution. This is the idea of this work, in which behavioural models created at design time are also used at runtime to evolve system behaviour. These behavioural models describe the routine tasks that users want to be automated by the system. However, usersÂż needs may change after system deployment, and the routine tasks automated by the system must evolve to adapt to these changes. To facilitate this evolution, the automation of the specified routine tasks is achieved by directly interpreting the models at runtime. This turns models into the primary means to understand and interact with the system behaviour associated with the routine tasks as well as to execute and modify it. Thus, we provide tools to allow the adaptation of this behaviour by modifying the models at runtime. This means that the system behaviour evolution is performed by using high-level abstractions and avoiding the costs and risks associated with shutting down and restarting the system.This work has been developed with the support of MICINN, under the project EVERYWARE TIN2010-18011, and the support of the Christian Doppler Forschungsgesellschaft and the BMWFJ, Austria.Serral Asensio, E.; Valderas Aranda, PJ.; Pelechano Ferragud, V. (2013). Addressing the evolution of automated user behaviour patterns by runtime model interpretation. Software and Systems Modeling. https://doi.org/10.1007/s10270-013-0371-3SWeiser, M.: The computer of the 21st century. Sci. Am. 265, 66–75 (1991)Serral, E., Valderas, P., Pelechano, V.: Context-adaptive coordination of pervasive services by interpreting models during runtime. Comput. J. 56(1), 87–114 (2013)Ajila, S.A., Alam, S.: Using a formal language constructs for software model evolution. In: Third IEEE International Conference on Semantic Computing (IEEE-ICSC 2009). Berkeley, CA, USA, pp. 390–395 (2009)Bennett, K., Rajlich, V.: Software Maintenance and Evolution: A Roadmap. In: 22nd International Conference on Software Engineering (ICSE 2000). Limerick, Ireland, pp. 75–87 (2000)Mens, T.: The ERCIM working group on software evolution: the past and the future. In: Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops. ACM (2009)Mens, T., Wermelinger, M., Ducasse, S., Demeyer, S., Hirschfeld, R.: Challenges in software evolution. In: Report of the ChaSE 2005 Workshop Organised by the ERCIM Working Group on Software Evolution. IWPSE-05. Lisbon, Portugal, pp. 13–22 (2005)Hirschfeld, R., Kawamura, K., Berndt, H.: Dynamic service adaptation for runtime system extensions. In: Wireless On-Demand Network Systems, pp. 227–240. Springer, Berlin, Heidelberg, Madonna di Campiglio, Italy (2004)Lientz, B.P., Swanson, E.B.: Software maintenance management: a study of the maintenance of computer applications software in 487 data processing organizations. Addison-Wesley, Reading, MA (1980)Buckley, J., Mens, T., Zenger, M., Rashid, A., Kniesel, G.: Towards a taxonomy of software change. J. Softw. Maint. Evolut. Res. Pract. 17(5), 309–332 (2003)Hardian, B., Indulska, J., Henricksen, K.: Balancing autonomy and user control in context-aware systems—a survey. In: CoMoRea, IEEE PerCom Workshops 2006. (2006)Biegel, G., Cahill, V.: A framework for developing mobile, context-aware applications. In: The 2nd IEEE Conference on Pervasive Computing and Communication (PerCom), pp. 361–365 (2004)Hofer, T., Schwinger, W., Pichler, M., Leonhartsberger, G., Altmann, J.: Context-awareness on mobile devices—the hydrogen approach. In: The 36th Annual Hawaii International Conference on System Sciences, pp. 292–302 (2002)Dey, A.K.: Understanding and using context. Pers. Ubiquitous Comput. 5(1), 4–7 (2001)Sheng, Q.Z., Benatallah, B.: ContextUML: a UML-based modelling language for model-driven development of context-aware web services. In: Proceedings of the International Conference on Mobile, Business (ICMB’05). pp. 206–212 (2005)Henricksen, K., Indulska, J.: A software engineering framework for context-aware pervasive computing. In: Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications (PerCom 2004), pp. 77–86. IEEE, Orlando, FL, USA (2004)Baldauf, M., Dustdar, S., Rosenberg, F.: A survey on context-aware systems. Int. J. Ad Hoc Ubiquitous Comput. 2(4), 263–277 (2007)Ye, J., Coyle, L., Dobson, S., Nixon, P.: Ontology-based models in pervasive computing systems. Knowl. Eng. Rev. 22(4), 315–347 (2007)Chen, H., Finin, T., Joshi, A.: An ontology for context-aware pervasive computing environments. Special Issue on Ontologies for Distributed Systems. Knowl. Eng. Rev. 18(3), 197–207 (2004)Welty, C., McGuinness, D.L.: OWL Web Ontology Language Guide. vol. W3C Recomm. W3C Recommendation 10 Feb 2004 (2004)Shepherd, A.: HTA as a framework for task analysis. Ergonomics 41, 1537–1552 (1998)Serral, E., Valderas, P., Pelechano, V.: Towards the model driven development of context-aware pervasive systems. Special Issue on Context Modelling, Reasoning and Management. PMC 6(2), 254–280 (2010)Serral, E.: Automating Routine Tasks in Smart Environments. A Context-aware Model-driven Approach, Technical University of Valencia (2011)Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley, Indianapolis (2002)Muñoz, J., Ferragud, D.V.P.: Model Driven Development of Pervasive Systems. Building a Software Factory. Universidad PolitĂ©cnica de Valencia, Valencia (2008)Juric, M.B., Sarang, P.: Business Process Execution Language for Web Services: BPEL and BPEL4WS (2006)Loke, S.W., Smanchat, S., Ling, S., Indrawan, M.: Formal mirror models: an approach to just-in-time reasoning for device ecologies. Int. J. Smart Home 2(1), 15–32 (2008)Code Generation conference. http://www.codegeneration.net/cg2010/ (2010)Guy, M.: Report 2: API Good Practice Good practice for provision of and consuming APIs. UKOLN (2009)Bloch, J.: How to design a good API and why it matters. pp. 506–507 (2005)Sirin, E., Parsia, B., Grau, B.C., Kalyanpur, A., Katz, Y.: Pellet: A practical OWL-DL reasoner. J. Web Semant. 5(2), 51–53 (2007)Bernstein, P.: Multiversion concurrency control—theory and algorithms. ACM Trans. Database Syst. 8(4), 465–484 (1983)Cooper, S., Dann, W., Pausch, R.: Alice: a 3-D tool for introductory programming concepts. J. Comput. Sci. Coll. 15, 107–116 (2000)PĂ©rez, F., Valderas, P.: Allowing end-users to actively participate within the elicitation of pervasive system requirements through immediate visualization. In: Fourth International Workshop on Requirements Engineering Visualization (REV), pp. 31–40. IEEE, Atlanta, Georgia, USA (2009)Lieberman, H., PaternĂł, F., Wulf, V.: End User Development. Springer, Dordrecht (2006)Nielsen, J.: Usability Engineering. Morgan Kaufmann Publishers Inc, San Francisco (1993)Van Welie, M., Trætteberg, H.: Interaction Patterns in User, Interfaces. pp. 13–16 (2000)Galitz, W.O.: The Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques. Wiley, New York (2002)Kitchenham, B., Pickard, L., Pfleeger, S.L.: Case studies for method and tool evaluation. Softw. IEEE 12(4), 52–62 (1995)Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., WesslĂ©n, A.: Experimentation in Software Engineering. Springer, Berlin (2012)Jones, J.V.: Applied software measurement: assuring productivity & quality (2nd ed’97). McGraw-Hill, New York (1997)Strang, T., Linnhoff-Popien, C.: A context modeling survey. In: First International Workshop on Advanced Context Modelling, Reasoning And Management at UbiComp (2004)Lewis, J.R.: Psychometric Evaluation of an After-Scenario Questionnaire for Computer Usability Studies? The ASQ. SIGCHI Bulletin (1991)Cook, D.J., Youngblood, M., Heierman, I.I.I.E.O., Gopalratnam, K., Rao, S., Litvin, A., Khawaja, F.: MavHome: An Agent-based Smart Home. In: First IEEE International Conference on Pervasive Computing and, Communications (PerCom’03), pp. 521–524 (2003)Hagras, H., Callaghan, V., Colley, M., Clarke, G., Pounds-Cornish, A., Duman, H.: Creating an ambient-intelligence environment using embedded agents. IEEE Intell. Syst. 19(6), 12–20 (2004)Rashidi, P., Cook, D.J.: Keeping the resident in the loop: adapting the smart home to the user. IEEE Trans. Syst. Man Cybern. 39(5), 949–959 (2009)Webb, G.I., Pazzani, M.J., Billsus, D.: Machine learning for user modeling. User model. User-Adapt Interact. 11(1–2), 19–29 (2001)Valiant, L.G.: A theory of the learnable. Commun. ACM 27(11), 1134–1142 (1984)Serral, E., Valderas, P., Pelechano, V.: (2011) Improving the cold-start problem in user task automation by using models at runtime. In: Information Systems Development, pp. 671–683. (2011)GarcĂ­a-Herranz, M., Haya, P.A., Esquivel, A., Montoro, G., Alamán, X.: Easing the smart home: semi-automatic adaptation in perceptive environments. J. Univers. Comput. Sci. 14(9), 1529–1544 (2008)Henricksen, K., Indulska, J., Rakotonirainy, A.: Using context and preferences to implement self-adapting pervasive computing applications. Sofw. Pract. Exp. 36(11–12), 1307–1330 (2006)Johnson, P.: Tasks and situations: considerations for models and design principles in human computer interaction, pp. 1199–1204. HCI International. Munich, Germany (1999)Cook, D.J., Das, S.K.: Smart environments: technologies, protocols, and applications, vol. 43. Wiley-Interscience, New York (2005)Paternò, F.: ConcurTaskTrees: an Engineered approach to model-based design of interactive systems. In: The Handbook of Analysis for Human-Computer Interaction, pp. 483–500 (2002)Pribeanu, C., Limbourg, Q., Vanderdonckt1, J.: Task modelling for context-sensitive user interfaces. In: Interactive Systems: Design, Specification, and Verification (DSV-IS), pp. 49–68. Springer, Berlin, Heidelberg 2001, Glasgow, Scotland, UK (2001)Souchon, N., Limbourg, Q., Vanderdonckt., J.: Task modelling in multiple contexts of use. In: Interactive Systems: Design, Specification, and Verification (DSV-IS), pp. 59–73 (2002)Huang, R., Cao, Q., Zhou, J., Sun, D., Su, Q.: Context-aware active task discovery for pervasive computing. In: International Conference on Computer Science and Software Engineering, pp. 463–466. IEEE, Wuhan, China (2008)Sousa, J.P., Poladian, V., Garlan, D., Schmerl, B.: Task-based adaptation for ubiquitous computing. IEEE Trans. Syst. Man Cybern. 36(3), 328–340 (2006)Masuoka, R., Parsia, B., Labrou, Y.: Task Computing—The Semantic Web Meets Pervasive Computing. In: 2nd International Semantic Web Conference on the Semantic Web (ISWC 2003), pp. 866–881. vol. LNCS 2870. Sanibel Island, FL, USA (2003)Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self-adaptive software. IEEE Intell. Syst. Their Appl. 14(3), 54–62 (1999)Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjørven, E.: Using Architecture Models for Runtime Adaptability. IEEE Software. 23(2), 62–70 (2006)Morin, B., JĂ©zĂ©quel, J.-M., Fleurey, F., Solberg, A.: Models at runtime to support dynamic adaptation. IEEE Comput. Soc. pp. 46–53 (2009)Cetina, C., Giner, P., Fons, J., Pelechano, V.: Using feature models for developing self-configuring smart homes. In: Fifth International Conference on Autonomic and Autonomous Systems, pp. 179–188. IEEE, Valencia, Spain (2009)Garlan, D., Schmerl, B.: Using architectural models at runtime: research challenges. In: Proceedings of the European Workshop on Software Architectures, pp. 200–205. Springer, Berlin, Heidelberg, St Andrews, UK (2004)Blumendorf, M., Lehmann, G., Feuerstack, S., Albayrak, S.: Executable models for human-computer interaction. In: Interactive Systems, Design, Specification, and Verification Workshop (DSV-IS 2008), pp. 238–251. Springer Berlin Heidelberg, Kingston, Canada (2008)Ballagny, C., Hameurlain, N., Barbier, F.: MOCAS: a state-based component model for self-adaptation. In: Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems, pp. 206–215. IEEE, San Francisco, California (2009)Amoui, M., Derakhshanmanesh, M., Ebert, J., Tahvildari, L.: Achieving dynamic adaptation via management and interpretation of runtime models. J. Syst. Softw. 85(12), 2720–2737 (2012)Blair, G., Bencomo, N., France, R.B.: [email protected]. IEEE Comput. 42, 22–27 (2009)Zhang, J., Cheng, B.H.C.: Model based development of dynamically adaptive software. In: International Conference on Software Engineering (ICSE’06), pp. 371–380. ACM, Shanghai, China (2006

    A web-based AI assistant Application using Python and JavaScript

    Get PDF
    Our research is mainly based on a chatbot which is powered by Artificial Intelligence. Nowadays, Artificial Intelligence assistants such as Apple’s Siri, Google’s Now and Amazon’s Alexa are currently fast-growing and widely integrated with many smart devices. These assistants are built with the primary purpose of being personal assistants for every individual user in certain contexts. In this research, we would highlight the development process of the chatbots, features, problems, case studies and limitations. This research delivers the information, helps developers to build answer bots and integrate chatbots with business accounts. The aim is to assist users and allow transactions between client companies and their customers. As a result, users can accomplish results to queries as well as clients can grow their business

    Chatbots for Modelling, Modelling of Chatbots

    Full text link
    Tesis Doctoral inédita leída en la Universidad Autónoma de Madrid, Escuela Politécnica Superior, Departamento de Ingeniería Informática. Fecha de Lectura: 28-03-202

    ChatGPT is on the Horizon: Could a Large Language Model be Suitable for Intelligent Traffic Safety Research and Applications?

    Full text link
    ChatGPT embarks on a new era of artificial intelligence and will revolutionize the way we approach intelligent traffic safety systems. This paper begins with a brief introduction about the development of large language models (LLMs). Next, we exemplify using ChatGPT to address key traffic safety issues. Furthermore, we discuss the controversies surrounding LLMs, raise critical questions for their deployment, and provide our solutions. Moreover, we propose an idea of multi-modality representation learning for smarter traffic safety decision-making and open more questions for application improvement. We believe that LLM will both shape and potentially facilitate components of traffic safety research.Comment: Submitted to Nature - Machine Intelligence (Revised and Extended

    How to Data in Datathons

    Full text link
    The rise of datathons, also known as data or data science hackathons, has provided a platform to collaborate, learn, and innovate in a short timeframe. Despite their significant potential benefits, organizations often struggle to effectively work with data due to a lack of clear guidelines and best practices for potential issues that might arise. Drawing on our own experiences and insights from organizing >80 datathon challenges with >60 partnership organizations since 2016, we provide guidelines and recommendations that serve as a resource for organizers to navigate the data-related complexities of datathons. We apply our proposed framework to 10 case studies.Comment: 37th Conference on Neural Information Processing Systems (NeurIPS 2023) Track on Datasets and Benchmar

    Scalable and Quality-Aware Training Data Acquisition for Conversational Cognitive Services

    Full text link
    Dialog Systems (or simply bots) have recently become a popular human-computer interface for performing user's tasks, by invoking the appropriate back-end APIs (Application Programming Interfaces) based on the user's request in natural language. Building task-oriented bots, which aim at performing real-world tasks (e.g., booking flights), has become feasible with the continuous advances in Natural Language Processing (NLP), Artificial Intelligence (AI), and the countless number of devices which allow third-party software systems to invoke their back-end APIs. Nonetheless, bot development technologies are still in their preliminary stages, with several unsolved theoretical and technical challenges stemming from the ambiguous nature of human languages. Given the richness of natural language, supervised models require a large number of user utterances paired with their corresponding tasks -- called intents. To build a bot, developers need to manually translate APIs to utterances (called canonical utterances) and paraphrase them to obtain a diverse set of utterances. Crowdsourcing has been widely used to obtain such datasets, by paraphrasing the initial utterances generated by the bot developers for each task. However, there are several unsolved issues. First, generating canonical utterances requires manual efforts, making bot development both expensive and hard to scale. Second, since crowd workers may be anonymous and are asked to provide open-ended text (paraphrases), crowdsourced paraphrases may be noisy and incorrect (not conveying the same intent as the given task). This thesis first surveys the state-of-the-art approaches for collecting large training utterances for task-oriented bots. Next, we conduct an empirical study to identify quality issues of crowdsourced utterances (e.g., grammatical errors, semantic completeness). Moreover, we propose novel approaches for identifying unqualified crowd workers and eliminating malicious workers from crowdsourcing tasks. Particularly, we propose a novel technique to promote the diversity of crowdsourced paraphrases by dynamically generating word suggestions while crowd workers are paraphrasing a particular utterance. Moreover, we propose a novel technique to automatically translate APIs to canonical utterances. Finally, we present our platform to automatically generate bots out of API specifications. We also conduct thorough experiments to validate the proposed techniques and models
    • …
    corecore