Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleSeptember 2024
Evaluating the effectiveness of size-limited execution trace with near-omniscient debugging
Science of Computer Programming (SCPR), Volume 236, Issue Chttps://doi.org/10.1016/j.scico.2024.103117AbstractDebugging is an important task to identify the defects in the software. Especially, logging is an important feature of a software system to record runtime information. Detailed logging allows developers to collect run-time information when they ...
Highlights- Effectiveness evaluation of near-omniscient debugging with 831 actual bugs.
- Keeping the majority of infected states.
- Predictable trace size from the number of methods.
- Reducing execution time significantly when all tests are ...
- short-paperOctober 2022
didiffff: a viewer for comparing changes in both code and execution traces
ICPC '22: Proceedings of the 30th IEEE/ACM International Conference on Program ComprehensionPages 528–532https://doi.org/10.1145/3524610.3527877One of the important purposes of code review is to find potential defects caused by other developers' code changes. When reviewing bug fixes, it is important to check the program behavior is properly changed to remove the bug. On the other hand, it is ...
- posterJuly 2020
Recommending peer reviewers in modern code review: a multi-objective search-based approach
GECCO '20: Proceedings of the 2020 Genetic and Evolutionary Computation Conference CompanionPages 307–308https://doi.org/10.1145/3377929.3390057Modern code review is a common practice used by software developers to ensure high software quality in open source and industrial projects. During code review, developers submit their code changes which should be reviewed, via tool-based code review ...
- research-articleSeptember 2020
On the Variations and Evolutions of API Usage Patterns: Case Study on Android Applications
ICSEW'20: Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering WorkshopsPages 746–753https://doi.org/10.1145/3387940.3392203Software developers can reduce the implementation cost by calling already provided functions through accessing library Application Programming Interface (API). APIs are often used in combination but how to combine them are not well-documented. Existing ...
- research-articleMay 2019
Proactive clone recommendation system for extract method refactoring
IWOR '19: Proceedings of the 3rd International Workshop on RefactoringPages 67–70https://doi.org/10.1109/IWoR.2019.00020"Extract Method" refactoring is commonly used for merging code clones into a single new method. In this position paper, we propose a proactive clone recommendation system for "Extract Method" refactoring. The proposed system that has been implemented as ...
-
- research-articleMay 2019
PADLA: a dynamic log level adapter using online phase detection
ICPC '19: Proceedings of the 27th International Conference on Program ComprehensionPages 135–138https://doi.org/10.1109/ICPC.2019.00029Logging is an important feature for a software system to record its run-time information. Although detailed logs are helpful to identify the cause of a failure in a program execution, constantly recording detailed logs of a long-running system is ...
- research-articleMay 2019
CCEvovis: a clone evolution visualization system for software maintenance
ICPC '19: Proceedings of the 27th International Conference on Program ComprehensionPages 122–125https://doi.org/10.1109/ICPC.2019.00026Understanding the evolution of code clones is important in software maintenance. With the information about how code clones evolve, both developers and researchers can understand the impacts of code clones and build a more robust code clone management ...
- articleApril 2019
How do developers utilize source code from stack overflow?
Empirical Software Engineering (KLU-EMSE), Volume 24, Issue 2Pages 637–673https://doi.org/10.1007/s10664-018-9634-5Technical question and answer Q&A platforms, such as Stack Overflow, provide a platform for users to ask and answer questions about a wide variety of programming topics. These platforms accumulate a large amount of knowledge, including hundreds of ...
- research-articleDecember 2018
A Hybrid Approach for Improving the Design Quality of Web Service Interfaces
ACM Transactions on Internet Technology (TOIT), Volume 19, Issue 1Article No.: 4, Pages 1–24https://doi.org/10.1145/3226593A key success of a Web service is to appropriately design its interface to make it easy to consume and understand. In the context of service-oriented computing (SOC), the service’s interface is the main source of interaction with the consumers to reuse ...
- research-articleMay 2018
How slim will my system be?: estimating refactored code size by merging clones
ICPC '18: Proceedings of the 26th Conference on Program ComprehensionPages 352–360https://doi.org/10.1145/3196321.3196353We have been doing code clone analysis with industry collaborators for a long time, and have been always asked a question, "OK, I understand my system contains a lot of code clones, but how slim will it be after merging redundant code clones?" As a ...
- research-articleMay 2018
"Was my contribution fairly reviewed?": a framework to study the perception of fairness in modern code reviews
ICSE '18: Proceedings of the 40th International Conference on Software EngineeringPages 523–534https://doi.org/10.1145/3180155.3180217Modern code reviews improve the quality of software products. Although modern code reviews rely heavily on human interactions, little is known regarding whether they are performed fairly. Fairness plays a role in any process where decisions that affect ...
- articleFebruary 2018
Do developers update their library dependencies?
Empirical Software Engineering (KLU-EMSE), Volume 23, Issue 1Pages 384–417https://doi.org/10.1007/s10664-017-9521-5Third-party library reuse has become common practice in contemporary software development, as it includes several benefits for developers. Library dependencies are constantly evolving, with newly added features and patches that fix bugs in older ...
- research-articleJanuary 2018
An empirical study on the impact of refactoring activities on evolving client-used APIs
Information and Software Technology (INST), Volume 93, Issue CPages 186–199https://doi.org/10.1016/j.infsof.2017.09.007ContextRefactoring is recognized as an effective practice to maintain evolving software systems. For software libraries, we study how library developers refactor their Application Programming Interfaces (APIs), especially when it impacts client users by ...
- articleJune 2017
Analysis of license inconsistency in large collections of open source projects
Empirical Software Engineering (KLU-EMSE), Volume 22, Issue 3Pages 1194–1222https://doi.org/10.1007/s10664-016-9487-8Free and open source software (FOSS) plays an important role in source code reuse practice. They usually come with one or more software licenses written in the header part of source files, stating the requirements and conditions which should be followed ...
- research-articleMay 2017
Source file set search for clone-and-own reuse analysis
MSR '17: Proceedings of the 14th International Conference on Mining Software RepositoriesPages 257–268https://doi.org/10.1109/MSR.2017.19Clone-and-own approach is a natural way of source code reuse for software developers. To assess how known bugs and security vulnerabilities of a cloned component affect an application, developers and security analysts need to identify an original ...
- research-articleMarch 2017
Search-based software library recommendation using multi-objective optimization
Information and Software Technology (INST), Volume 83, Issue CPages 55–75https://doi.org/10.1016/j.infsof.2016.11.007Context: Software library reuse has significantly increased the productivity of software developers, reduced time-to-market and improved software quality and reusability. However, with the growing number of reusable software libraries in code ...
- short-paperSeptember 2016
Graph-based approach for detecting impure refactoring from version commits
IWoR 2016: Proceedings of the 1st International Workshop on Software RefactoringPages 13–16https://doi.org/10.1145/2975945.2975949Impure refactoring is defined as a refactoring operation that was saved together with non-refactoring changes or several refactoring operations were saved at the same location stored in source code repositories. Many of existing approaches are not ...
- research-articleJune 2016
Multi-Criteria Code Refactoring Using Search-Based Software Engineering: An Industrial Case Study
ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 25, Issue 3Article No.: 23, Pages 1–53https://doi.org/10.1145/2932631One of the most widely used techniques to improve the quality of existing software systems is refactoring—the process of improving the design of existing code by changing its internal structure without altering its external behavior. While it is ...
- research-articleMay 2016
Software ingredients: detection of third-party component reuse in Java software release
MSR '16: Proceedings of the 13th International Conference on Mining Software RepositoriesPages 339–350https://doi.org/10.1145/2901739.2901773A software product is often dependent on a large number of third-party components. To assess potential risks, such as security vulnerabilities and license violations, a list of components and their versions in a product is important for release ...
- research-articleJuly 2015
Web Service Antipatterns Detection Using Genetic Programming
GECCO '15: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary ComputationPages 1351–1358https://doi.org/10.1145/2739480.2754724Service-Oriented Architecture (SOA) is an emerging paradigm that has radically changed the way software applications are architected, designed and implemented. SOA allows developers to structure their systems as a set of ready-made, reusable and ...