Service overview
Short communications, methods, protocol, data and software papers, registered reports and more. This service is part of that division and is scoped individually around what you need to learn, decide or publish.
Research software underpins much of modern engineering, but until recently it received little credit. Software papers describe a program or library so that it can be cited, evaluated and reused. They explain what the software does, how it is designed, how to use it and how well it has been tested.
Journals that publish software papers expect more than a description: public source code in a repository, a licence, documentation, tests and an archived release with an identifier. Support concentrates on describing functionality and architecture, presenting examples and benchmarks, completing availability statements and advising on licensing and citation practices.
What this service covers
Problems this service can address
- Software with sparse documentation
- No demonstration of correctness
- Unclear licensing
Methods and analytical approaches
- Functionality and architecture description
- Example-use and benchmark presentation
- Documentation and availability statements
- Licence and citation guidance
Applications
- Simulation-code papers
- Analysis-toolkit papers
- Research-library papers
Relevant engineering disciplines
Scope, inputs and deliverables
Scope of work
- Assessment of your material: data, methods, draft and target venue
- Structuring and drafting or editing strictly from your supplied results and methods
- Consistency and source checks on text, tables, figures and references
- Journal-formatted files and a submission checklist
- Feasibility check on: the software description and examples
Typical inputs required from you
- The software description and examples
- Benchmarks or tests
- Draft
Deliverables
- Software-paper manuscript
- Availability statement
- Example-presentation guidance
Highly specialised requests are first checked for feasibility from this information. Please do not send confidential data through the public form; describe it first and agree secure transfer afterwards.
Project workflow and method
- 01Enquiry and requirement assessment
- 02Technical scoping and proposal
- 03Execution
- 04Quality review and delivery, with an agreed round of revisions
Read the full project workflow.
In depth: how the work is done
Purpose and scientific context
The paper opens with the problem the software addresses, how people currently solve it and why the software is needed. It identifies target users and use cases. We help authors state this clearly and compare with related tools.
Functionality and architecture
Describing capabilities, inputs and outputs, algorithms implemented and software structure helps readers evaluate the work. Diagrams of architecture and workflow are useful. We help authors write at a level suited to the journal's readers.
Example use and tutorials
Worked examples show how to use the software on realistic problems, with input files and expected outputs. We encourage examples that run from the repository with minimal setup, which also supports reviewers who test the software.
Validation, tests and benchmarks
Evidence that the software gives correct results includes unit tests, verification against analytic solutions, comparison with other software and benchmark cases. Performance data on typical problems show scaling and limits. We help present these concisely.
Documentation and availability
Software papers include availability statements: repository URL, version, archived release with DOI, operating systems, dependencies and licence. Documentation covers installation, user guidance and API reference. We help authors check completeness.
Licences and citation
A recognised open-source licence clarifies reuse rights, and a citation file or statement tells users how to credit the work. Legal specifics should be confirmed with advisers. We help authors describe these in the paper.
Sustainability and community
Reviewers consider whether software will be maintained. Plans for maintenance, issue tracking, contribution guidelines and release practices indicate sustainability. Authors should be candid about the support available.
Limitations and known issues
Software has limitations. Listing known issues, unsupported cases and performance constraints helps users and builds trust.
Versioning and reproducible environments
Results produced by software depend on versions of the code, libraries and operating environment. Authors can improve reproducibility by tagging releases, listing dependencies with versions and providing environment files or containers. The paper should state the version described and how later versions differ. We help authors write this information clearly and check that instructions work on a clean installation.
Comparing with existing software honestly
Readers want to know how the new software relates to established tools. A fair comparison lists features, strengths and limitations of alternatives, and benchmarks on shared problems. It should acknowledge where other tools are better. We help authors build balanced comparison tables and avoid claims that cannot be supported by the tests performed.
Performance, scaling and resource requirements
Users need to know how long typical problems take and what hardware they require. Reporting run times on defined machines, memory use, parallel scaling and the largest problem tested sets realistic expectations. Authors should distinguish measured performance from projections. We help present these results in compact tables or plots with the hardware and settings stated, so others can repeat the measurements.
Encouraging contributions and external testing
Software gains credibility when others have tested it. Authors can invite beta testers, include contributor guidelines, label good first issues and acknowledge contributions. The paper can mention users and projects that have adopted the software, if the authors can verify this. We help authors describe the community around the software honestly, without implying adoption that does not exist.
Quality control and good practice
Quality-control approach
- Every statement, number and reference is checked against your supplied data and the original sources.
- No data, results, citations or author contributions are invented; gaps are flagged to you.
- Authorship and contribution decisions stay with you and your co-authors, and the use of AI tools is disclosed where journals require it.
- Journal guidelines and reporting checklists are followed; acceptance is never promised.
Common pitfalls this service helps avoid
- Repository not public or archived. Reviewers and readers need to access the code.
- No tests or validation. Correctness must be demonstrated.
- Unclear licence. Users cannot know how they may use the software.
- Overstated capabilities. Describe what the software actually does.
What good reporting looks like
Support for a software paper is documented with an availability checklist, a documentation and test summary, a licence and citation note and a limitations statement. Authors are responsible for the code and its quality. We do not write or modify research software in this service, and acceptance is not promised.
An illustrative scenario
Hypothetical example written for explanation. It is not a client case, a result or a testimonial.
Suppose a researcher develops a finite element library for micromechanics. The software paper describes the problem, design and features, presents verification against analytical solutions and a benchmark against another code, and gives an example that users can run. The repository has documentation, tests, a licence and an archived release. Known limitations, such as lack of contact modelling, are listed.
Questions to settle before you begin
- Is the code public and archived?
- What tests demonstrate correctness?
- Can a user run an example quickly?
- What licence applies?
- What are the known limitations?
Key terms
- Unit test
- An automated test of a small piece of code.
- Repository
- A hosting location for source code.
- Open-source licence
- Terms allowing reuse of code.
- Archived release
- A permanent snapshot of a software version.
- Dependency
- Another package that the software requires.
Working together on Specialised Scholarly Article Formats projects
Specialised article engagements begin by confirming which format suits your material, since short communications, methods, data, software, protocol and replication papers each have conventions and length limits. We ask for the results, code or datasets that the article describes, the target journal's guidelines and your deadline. Drafting follows the format's structure, and reporting checklists are applied where they exist. Statements about data and code availability reflect what you can actually share. We do not fabricate results, and we do not promise acceptance.
Frequently asked questions
Do you write the software?
No. We help describe and document software that you have developed.
Which journals publish software papers?
Examples include journals focused on software and field journals with software sections; check each journal's scope.
Do I need to make the code open source?
Many journals require public availability; some allow exceptions. Check policy.
Can I describe commercial software?
Journals differ; many focus on open research software.
How do I get a DOI for my software?
Archive a release in a repository service that issues identifiers.
Does ENGRexpert guarantee acceptance in a journal?
No. Editors and reviewers decide. We support the clarity, rigour and fit of your manuscript and never promise an outcome.
How is this service scoped and priced?
After your enquiry we review what you need, ask for missing information and send a written scope and quotation. Price depends on complexity, deliverables and timeline. See the project workflow.