Joshua Sunshine

Orcid: 0000-0002-9672-5297

Affiliations:
  • Carnegie Mellon University, Institute for Software Research, Pittsburgh, PA, USA (PhD 2013)


According to our database1, Joshua Sunshine authored at least 55 papers between 2009 and 2024.

Collaborative distances:
  • Dijkstra number2 of four.
  • Erdős number3 of four.

Timeline

Legend:

Book 
In proceedings 
Article 
PhD thesis 
Dataset
Other 

Links

Online presence:

On csauthors.net:

Bibliography

2024
A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries.
CoRR, 2024

"Against the Void": An Interview and Survey Study on How Rust Developers Use Unsafe Code.
CoRR, 2024

Rose: Efficient and Extensible Autodiff on the Web.
CoRR, 2024

2023
What's (Not) Working in Programmer User Studies?
ACM Trans. Softw. Eng. Methodol., September, 2023

Generating Domain-Specific Programs for Diagram Authoring with Large Language Models.
Proceedings of the Companion Proceedings of the 2023 ACM SIGPLAN International Conference on Systems, 2023

NaNofuzz: A Usable Tool for Automatic Test Generation.
Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2023

2022
Gradual C0: Symbolic Execution for Efficient Gradual Verification.
CoRR, 2022

2021
PLIERS: A Process that Integrates User-Centered Methods into Programming Language Design.
ACM Trans. Comput. Hum. Interact., 2021

PL and HCI: better together.
Commun. ACM, 2021

FrameFix: Automatically Repairing Statically-Detected Directive Violations in Framework Applications.
Proceedings of the 28th IEEE International Conference on Software Analysis, 2021

reCode : A Lightweight Find-and-Replace Interaction in the IDE for Transforming Code by Example.
Proceedings of the UIST '21: The 34th Annual ACM Symposium on User Interface Software and Technology, 2021

Containing Malicious Package Updates in npm with a Lightweight Permission System.
Proceedings of the 43rd IEEE/ACM International Conference on Software Engineering, 2021

Gradual Program Analysis for Null Pointers.
Proceedings of the 35th European Conference on Object-Oriented Programming, 2021

2020
Obsidian: Typestate and Assets for Safer Blockchain Programming.
ACM Trans. Program. Lang. Syst., 2020

Penrose: from mathematical notation to beautiful diagrams.
ACM Trans. Graph., 2020

Gradual verification of recursive heap data structures.
Proc. ACM Program. Lang., 2020

Can advanced type systems be usable? An empirical study of ownership, assets, and typestate in Obsidian.
Proc. ACM Program. Lang., 2020

An Empirical Study of Ownership, Typestate, and Assets in the Obsidian Smart Contract Language.
CoRR, 2020

How Domain Experts Create Conceptual Diagrams and Implications for Tool Design.
Proceedings of the CHI '20: CHI Conference on Human Factors in Computing Systems, 2020

2019
User-Centered Programming Language Design in the Obsidian Smart Contract Language.
CoRR, 2019

Design Dimensions for Software Certification: A Grounded Analysis.
CoRR, 2019

Barriers to Reproducible Scientific Programming.
Proceedings of the 2019 IEEE Symposium on Visual Languages and Human-Centric Computing, 2019

A Pilot Study of the Safety and Usability of the Obsidian Blockchain Programming Language.
Proceedings of the 10th Workshop on Evaluation and Usability of Programming Languages and Tools, 2019

Designing Declarative Language Tutorials: A Guided and Individualized Approach.
Proceedings of the 10th Workshop on Evaluation and Usability of Programming Languages and Tools, 2019

A Qualitative Study on Framework Debugging.
Proceedings of the 2019 IEEE International Conference on Software Maintenance and Evolution, 2019

Detecting suspicious package updates.
Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results, 2019

Smarter smart contract development tools.
Proceedings of the 2nd International Workshop on Emerging Trends in Software Engineering for Blockchain, 2019

2018
Debugging Framework Applications: Benefits and Challenges.
CoRR, 2018

Experience report: studying the readability of a domain specific language.
Proceedings of the 33rd Annual ACM Symposium on Applied Computing, 2018

Interdisciplinary programming language design.
Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, 2018

IPL: An Integration Property Language for Multi-model Cyber-physical Systems.
Proceedings of the Formal Methods - 22nd International Symposium, 2018

2017
Toward Semantic Foundations for Program Editors.
Proceedings of the 2nd Summit on Advances in Programming Languages, 2017

Empirical Studies on the Security and Usability Impact of Immutability.
Proceedings of the IEEE Cybersecurity Development, SecDev 2017, Cambridge, MA, USA, 2017

Glacier: transitive class immutability for Java.
Proceedings of the 39th International Conference on Software Engineering, 2017

2016
A systematic analysis of the science of sandboxing.
PeerJ Comput. Sci., 2016

Inter-app communication in Android: developer challenges.
Proceedings of the 13th International Conference on Mining Software Repositories, 2016

Exploring language support for immutability.
Proceedings of the 38th International Conference on Software Engineering, 2016

Software Development Practices, Barriers in the Field and the Relationship to Software Quality.
Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, 2016

2015
A course-based usability analysis of Cilk Plus and OpenMP.
Proceedings of the 2015 IEEE Symposium on Visual Languages and Human-Centric Computing, 2015

Comparing transitive to non-transitive object immutability.
Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools, 2015

Enforcing fine-grained security and privacy policies in an ecosystem within an ecosystem.
Proceedings of the 3rd International Workshop on Mobile Development Lifecycle, 2015

Searching the state space: a qualitative study of API protocol usability.
Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension, 2015

Evaluating the Flexibility of the Java Sandbox.
Proceedings of the 31st Annual Computer Security Applications Conference, 2015

2014
Æminium: A Permission-Based Concurrent-by-Default Programming Language Approach.
ACM Trans. Program. Lang. Syst., 2014

Usability Hypotheses in the Design of Plaid.
Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools, 2014

Considering Productivity Effects of Explicit Type Declarations.
Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools, 2014

Structuring Documentation to Support State Search: A Laboratory Experiment about Protocol Programming.
Proceedings of the ECOOP 2014 - Object-Oriented Programming - 28th European Conference, Uppsala, Sweden, July 28, 2014

2011
Changing state in the plaid language.
Proceedings of the Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2011

First-class state change in plaid.
Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2011

Plaid: a permission-based programming language.
Proceedings of the Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2011

Permission-based programming languages.
Proceedings of the 33rd International Conference on Software Engineering, 2011

2010
Unsticking the web.
Proceedings of the Companion to the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2010

A theory of typestate-oriented programming.
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs, 2010

2009
Crying Wolf: An Empirical Study of SSL Warning Effectiveness.
Proceedings of the 18th USENIX Security Symposium, 2009

Typestate-oriented programming.
Proceedings of the Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2009


  Loading...