We gratefully acknowledge support from
the Simons Foundation and member institutions.

Software Engineering

New submissions

[ total of 8 entries: 1-8 ]
[ showing up to 2000 entries per page: fewer | more ]

New submissions for Thu, 26 Nov 20

[1]  arXiv:2011.12468 [pdf, other]
Title: Nudge: Accelerating Overdue Pull Requests Towards Completion
Subjects: Software Engineering (cs.SE); Artificial Intelligence (cs.AI); Machine Learning (cs.LG); Programming Languages (cs.PL)

Pull requests are a key part of the collaborative software development and code review process today. However, pull requests can also slow down the software development process when the reviewer(s) or the author do not actively engage with the pull request. In this work, we design an end-to-end service, Nudge, for accelerating overdue pull requests towards completion by reminding the author or the reviewer(s) to engage with their overdue pull requests. First, we use models based on effort estimation and machine learning to predict the completion time for a given pull request. Second, we use activity detection to reduce false positives. Lastly, we use dependency determination to understand the blocker of the pull request and nudge the appropriate actor(author or reviewer(s)). We also do a correlation analysis to understand the statistical relationship between the pull request completion times and various pull request and developer related attributes. Nudge has been deployed on 147 repositories at Microsoft since 2019. We do a large scale evaluation based on the implicit and explicit feedback we received from sending the Nudge notifications on 8,500 pull requests. We observe significant reduction in completion time, by over 60%, for pull requests which were nudged thus increasing the efficiency of the code review process and accelerating the pull request progression.

[2]  arXiv:2011.12886 [pdf]
Title: An Empirical Investigation on the Challenges of Creating Custom Static Analysis Rules for Defect Localization
Subjects: Software Engineering (cs.SE)

Background: Custom static analysis rules, i.e., rules specific for one or more applications, already were successfully used to perform corrective and preventive software maintenance. Their usage can reduce costs of verification and improve the reliability and security of applications. Pattern-Driven Maintenance (PDM) is a method designed to support the creation of those rules during software maintenance. However, as PDM was recentelly created, few maintainers have reported its usage. Hence, the challenges and skills needed to propper apply PDM are unknonw. Aims: In this paper, we investigate the challanges faced by maintainers on applying PDM for creating custom static analysis rules for defect localization. Method: We conducted an observational study on novice maintainers creating custom static analysis rules by applying PDM. The study was divided into tree tasks: (i) identifing a defect pattern, (ii) programming a static analysis rule to locate instances of the pattern, and (iii) verifing the instances located. We analyzed the efficiency of maintainers on applying each task and their comments on tasks challenges. We also analysed the acceptance of PDM by the maintainers. Results: We observed that previous knowledge on debugging, the subject software, related technologies had influence in the performance of maintainers. However, the bottleneck of the method was static analysis rules programming, being the task which maintainers had more problems to complete. Besides those difficulties, maintainers found PDM useful and demonstrated intention of use it in practice. Conclusions: The results strengthen our confidence that PDM can help maintainers on producing custom static analysis rules for locating defects. However, a better approach for programming those rules as well as the proper selection and training of maintainers is needed to effectively apply PDM.

Cross-lists for Thu, 26 Nov 20

[3]  arXiv:2011.12715 (cross-list from cs.AI) [pdf, other]
Title: Resonance: Replacing Software Constants with Context-Aware Models in Real-time Communication
Comments: Workshop on ML for Systems at NeurIPS 2020, Accepted
Subjects: Artificial Intelligence (cs.AI); Machine Learning (cs.LG); Networking and Internet Architecture (cs.NI); Software Engineering (cs.SE)

Large software systems tune hundreds of 'constants' to optimize their runtime performance. These values are commonly derived through intuition, lab tests, or A/B tests. A 'one-size-fits-all' approach is often sub-optimal as the best value depends on runtime context. In this paper, we provide an experimental approach to replace constants with learned contextual functions for Skype - a widely used real-time communication (RTC) application. We present Resonance, a system based on contextual bandits (CB). We describe experiences from three real-world experiments: applying it to the audio, video, and transport components in Skype. We surface a unique and practical challenge of performing machine learning (ML) inference in large software systems written using encapsulation principles. Finally, we open-source FeatureBroker, a library to reduce the friction in adopting ML models in such development environments

[4]  arXiv:2011.12837 (cross-list from cs.RO) [pdf]
Title: High-Level Description of Robot Architecture
Comments: 10 pages, 18 figures
Journal-ref: (IJACSA) International Journal of Advanced Computer Science and Applications, 258-267, Vol. 11, No. 10, 2020
Subjects: Robotics (cs.RO); Software Engineering (cs.SE)

Architectural Description (AD) is the backbone that facilitates the implementation and validation of robotic systems. In general, current high-level ADs reflect great variation and lead to various difficulties, including mixing ADs with implementation issues. They lack the qualities of being systematic and coherent, as well as lacking technical-related forms (e.g., icons of faces, computer screens). Additionally, a variety of languages exist for eliciting requirements, such as object-oriented analysis methods susceptible to inconsistency (e.g., those using multiple diagrams in UML and SysML). In this paper, we orient our research toward a more generic conceptualization of ADs in robotics. We apply a new modeling methodology, namely the Thinging Machine (TM), to describe the architecture in robotic systems. The focus of such an application is on high-level specification, which is one important aspect for realizing the design and implementation in such systems. TM modeling can be utilized in documentation and communication and as the first step in the system s design phase. Accordingly, sample robot architectures are re-expressed in terms of TM, thus developing (1) a static model that captures the robot s atemporal aspects, (2) a dynamic model that identifies states, and (3) a behavioral model that specifies the chronology of events in the system. This result shows a viable approach in robot modeling that determines a robot system s behavior through its static description.

Replacements for Thu, 26 Nov 20

[5]  arXiv:2008.01566 (replaced) [pdf, other]
Title: On the Generalizability of Neural Program Models with respect to Semantic-Preserving Program Transformations
Comments: Under Review. arXiv admin note: substantial text overlap with arXiv:2004.07313
Subjects: Software Engineering (cs.SE); Machine Learning (cs.LG)
[6]  arXiv:2011.11228 (replaced) [pdf, other]
Title: Modeling Functional Similarity in Source Code with Graph-Based Siamese Networks
Comments: Under Review IEEE Transactions on Software Engineering
Subjects: Software Engineering (cs.SE)
[7]  arXiv:2011.11950 (replaced) [pdf, other]
Title: Code Search Intent Classification Using Weak Supervision
Comments: Dataset for this paper is available here: this https URL
Subjects: Software Engineering (cs.SE); Artificial Intelligence (cs.AI); Information Retrieval (cs.IR); Machine Learning (cs.LG)
[8]  arXiv:2006.10933 (replaced) [pdf, other]
Title: An Empirical Assessment of Global COVID-19 Contact Tracing Applications
Subjects: Cryptography and Security (cs.CR); Software Engineering (cs.SE)
[ total of 8 entries: 1-8 ]
[ showing up to 2000 entries per page: fewer | more ]

Disable MathJax (What is MathJax?)

Links to: arXiv, form interface, find, cs, recent, 2011, contact, help  (Access key information)