Software Engineering (cs.SE)

  • PDF
    In this paper, we first collect and track large-scale fixed and unfixed violations across revisions of software. It turns out that a small number of violation types are responsible for the majority of recurrently occurring violations and they are fixed with similar code changes. To automatically identify patterns in violations and their fixes, we propose an approach that utilizes convolutional neural networks and clustering. We then evaluate the usefulness of the identified fix patterns by applying them to unfixed violations. The results show that actual developers accepted and merged 69 of 116 fixes generated from the fix patterns. From the study, we observe the recurrences of fixed violations that may help prioritize violations, identify fix patterns from existing fixed violations, and resolve similar violations existing in the wild.
  • PDF
    Software startups are becoming increasingly popular in software industry as well as other sectors of economy. Startups that lack necessary competences often seek for external resources from outsourcing partners. Little is known how this outsourcing relationship works and whether it makes sense to outsource the technical competence to an external party. This is among the first investigations on the outsourcing relationships in software startups. By conducting exploratory case studies at six startups, we found a mixed experience with outsourcing. The experimental nature of an early product development makes outsourcing a feasible option, although startups often suffer from its uncertainty and managing commitments from partners. Results further propose that early contract-based activities could be transformed into a long-term partnership by adopting a startup boundary spanner s role, establishing an inter-personal relationship and maintaining a mutual commitment.